加载完整的导航之前,我有一个值得欢迎的控制器指数函数:检查活动会议笨3
public function index()
{
$this->load->view('templates\header');
$this->load->view('welcome_message');
$this->load->view('templates\footer');
}
页眉视图代码是这样以下几点:
<header>
<div class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="<?php echo base_url() ?>">
Test App
</a>
</div>
</div>
</div>
</header>
它完美罚款至今。 我还想在导航栏中添加以下代码(在标题标签中)作为菜单项,但仅当用户会话处于活动状态时才会如此。因此,如果用户登录,则只有他/她能够看到菜单项,否则用户应只能看到品牌名称为“Test App”的导航栏。
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="<?php echo base_url('welcome') ?>"><i class="fa fa-tachometer"></i> Dashboard</a>
</li>
<li>
<a href="<?php echo base_url('admin/logout') ?>"><i class="fa fa-sign-out"></i> Logout
</a>
</li>
</ul>
</div>
我也有检查,如果用户登录或不和我使用它的控制器内返回true或false一个帮手。我不喜欢在视图内使用它,因为我不得不重复菜单项并调整大量的双/单引号以使其工作。有没有一个干净的方式来做到这一点?
代码登录助手:
function is_logged_in() {
$CI =& get_instance();
$user = $CI->session->userdata('username');
if (!isset($user))
{
return false;
}
else
{
return true;
}
}
谢谢。为了做到这一点,我需要用部分通用代码保留两个不同的视图。我的意思是在两个不同的视图中重复部分代码。它看起来并不多,但它是正确的方式。 – Saurabh
@Saurabh试试这个方法,改变了我的答案。 – Dray