【问题标题】:creating codeigniter dynamic template创建codeigniter动态模板
【发布时间】:2012-03-01 22:10:28
【问题描述】:

我想将登录表单放在导航(模板)中,以便它显示在所有页面中。 并将检查数据库中的用户名和密码,而无需转到其他页面。如果失败,导航中将显示错误,如果成功,页面将重新加载特定的定制。请告诉我如何使用代码和详细信息。

我的模板中有这些部分:

  1. 标题
  2. 导航
  3. 页脚
  4. 以及将在当前控制器中添加的内容

我想在每个控制器中这样做:

$this->load->view('templates/header');
$this->load->view('templates/nav');
$this->load->view('related_view');
$this->load->view('templates/footer');

但是我的导航应该包含一个登录表单,它不会通过提交进入另一个页面。

【问题讨论】:

    标签: php codeigniter templates


    【解决方案1】:

    我通常会这样做:

    <?php
    $this->load->view('templates/header');
    
    if ($this->user_model->isLoggedIn())
    {
        // Logged-in users should see this view
        $this->load->view('templates/nav-registered');
    }
    else
    {
        // Guests should see this
        $this->load->view('templates/nav-guest');
    }
    
    $this->load->view('related_view');
    $this->load->view('templates/footer');
    

    如果您重写 Loader 类以自动为您获取页眉/页脚,您会感谢自己,而不必在 EVERY 控制器方法中编写此代码。只是一个想法..

    【讨论】:

    • 我的问题是在哪里放置登录控制器和模型。在扩展 ci_controller 和 ci_model 的单独类中?如果是这样,如何将它们包含在当前控制器中?你知道,例如这是我的新闻控制器,我在这个控制器中加载这些模板视图。在我的登录表单中,我有 action="" 所以它将数据发布到当前页面。因此登录控制器和模型必须可以在当前控制器(新闻控制器)中以某种方式访问​​以处理登录检查。谢谢回答!
    • 为什么要在每个 URI 上处理登录?为什么不让你登录表单总是指向同一个控制器动作。这样您就不必在每个请求上不必要地检查登录帖子数据...
    • 我非常需要那个。并注意我的问题很笼统,是关于动态模板(这里是导航)。登录表单只是一个例子。例如,我想在我的导航中显示一些随机新闻或任何动态而不仅仅是静态文本。($this->load->view() 不起作用)。你知道动态动作需要控制器和模型。我的问题是如何在主电流控制器中处理这些控制器和模型
    【解决方案2】:

    使用会话检查登录用户,并将其放在导航视图上,但首先确保您已从 auload 或控制器加载会话

    if($this->session->userdata('user_loged')){
          //code to put some navigation when use is loged
    }else{
        //code to put login form
    }
    

    【讨论】:

      【解决方案3】:

      我找到的解决方案是扩展 Controller 类。因此,在这种情况下,我们应该制作一个扩展控制器(例如 MY_Controller)并将动态操作(此处为身份验证)作为方法放入其中。

      然后我们应该在每个控制器中扩展这个自制控制器,这样模板中的身份验证就可以简单地处理了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-08
        • 2013-09-07
        • 2012-09-20
        • 2014-11-25
        • 1970-01-01
        • 2015-04-04
        • 2013-12-19
        • 2013-05-03
        相关资源
        最近更新 更多