Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 身份验证,CodeIgniter模板_Php_Templates_Codeigniter - Fatal编程技术网

Php 身份验证,CodeIgniter模板

Php 身份验证,CodeIgniter模板,php,templates,codeigniter,Php,Templates,Codeigniter,如果用户已登录 如果用户未登录,我想显示不同的菜单 实现这一点的最佳方法是只创建两个不同的视图,并根据用户是否登录(签入控制器)包含它们 到目前为止,这就是我的解决方案,如何改进它?如果它像标题或菜单一样小,我通常只是将其分解为视图部分,并确定在视图中显示哪个部分。我还调用了主模板视图中的所有其他视图部分,因此它只需要一个$this->load->view()。该方法将在控制器中为您提供以下信息: class Page extends CI_Controller { public fu

如果用户已登录

如果用户未登录,我想显示不同的菜单

实现这一点的最佳方法是只创建两个不同的视图,并根据用户是否登录(签入控制器)包含它们


到目前为止,这就是我的解决方案,如何改进它?

如果它像标题或菜单一样小,我通常只是将其分解为视图部分,并确定在视图中显示哪个部分。我还调用了主模板视图中的所有其他视图部分,因此它只需要一个
$this->load->view()
。该方法将在控制器中为您提供以下信息:

class Page extends CI_Controller {

    public function index()
    {
        $view_data['main_content'] = 'home';
        $this->load->view('templates/default');
    }
}
在你看来:

$this->load->view('templates/partials/header');

if ($this->auth->logged_in())
{
    $this->load->view('templates/partials/menu');
}
else
{
    $this->load->view('templates/partials/index');
}

$this->load->view($main_content);

$this->load->view('templates/partials/sidebar');
$this->load->view('templates/partials/footer');

通过这种方式,您总是调用相同的模板,您可以只设置
$main\u content
,这是您要加载的实际视图,并且页面之间保持不变的所有其他内容都已经存在。

如果我要将变量从控制器传递到(控制器视图)下一个视图?我该怎么做?到下一个视图(在你的情况下是家)*没问题,很高兴我能帮忙!
$this->load->view('templates/partials/header');

if ($this->auth->logged_in())
{
    $this->load->view('templates/partials/menu');
}
else
{
    $this->load->view('templates/partials/index');
}

$this->load->view($main_content);

$this->load->view('templates/partials/sidebar');
$this->load->view('templates/partials/footer');