0

我正在使用 tank 身份验证库在 codeigniter 中开发博客(从网上下载)

如您所知,博客包含喜欢/不喜欢按钮。当单击喜欢按钮(查看页面)时,首先控制权转移到控制器,在那里检查用户是否登录,如果用户登录则控制权转移回主博客页面和博客被喜欢(即喜欢计数器增加)但是,如果用户未登录或不是社区成员,则显示登录/注册表单。

这些所有功能都内置在坦克身份验证库中,它工作正常。

问题:我希望如果用户未登录或不是会员,那么无论显示哪个页面(登录/注册/忘记密码/再次发送电子邮件),都应该在单击喜欢/不喜欢按钮时弹出它们。

完成的工作:使用了锚点弹出功能但没有用。结果:它在新窗口中显示视图

将登录/注册表单视图放在同一博客页面上,使用jquery(淡入淡出)等功能显示弹出窗口。结果:显示弹出窗口,但由于该弹出窗口不是来自控制器,所以没有用。(因为坦克认证库功能没有得到参与。)

因此,如果可能的话,请帮助我显示视图(从控制器调用作为弹出窗口)。如果可能的话,请发送一些适当的链接或任何演示项目。有一个jquery-fancy box的功能,我想这会起作用。我知道问题将通过应用 jquery+ mvc 流的概念来解决,但由于我是 php 和 codeigniter 的新手,所以我无法正确整合我的想法。

先感谢您。

4

1 回答 1

0

使用Fancybox您的问题将得到解决。【下载】包先。然后将CSSand包含JS在您的模板中。1

用法:

<a href="<?=base_url()?>home/login/" class="fancybox">Login</a>
$(function(){
    $(".fancybox").fancybox({
        type        : 'iframe',
        autoSize : false,
        width    : "60%",
        height   : "56%",
        'scrolling'     : 'no',
        'titleShow'     : false,
        openEffect  : 'fade',
        closeEffect : 'fade'
    });
});

编辑
更改:在链接中
添加了fancybox类。

<a href="<?php echo base_url()?>index.php/blog/ajax_dislike/?dislikeid=<?php echo $row ->id;?>" class="fancybox">Dislike</a>

<head>索引页的部分中必须包括:

<script type="text/javascript" src="<?=base_url()?>js/jquery-1.9.1.js"></script>
<link rel="stylesheet" href="<?=base_url()?>css/fancybox/jquery.fancybox.css" />
<script type="text/javascript" src="<?=base_url()?>js/jquery.fancybox.js"></script>

现在在该<head>部分的页面中,在上述内容之后包含以下内容:

<script type="text/javascript">
$(function(){
    $(".fancybox").fancybox({
        type        : 'iframe',
        autoSize : false,
        width    : "60%",
        height   : "56%",
        'scrolling'     : 'no',
        'titleShow'     : false,
        openEffect  : 'fade',
        closeEffect : 'fade'
    });
});
</script>
于 2013-09-11T15:29:50.047 回答