我的观点中有一个菜单:
<ul>
<li>
<a href="<?php echo base_url(); ?>news" <?php if($nav_item == 'news'): ?>class="active-nav-item"<?php endif; ?>>News about Cars</a>
</li>
<li>
<a href="<?php echo base_url(); ?>products" <?php if($nav_item == 'products'): ?>class="active-nav-item"<?php endif; ?>>Latest Products</a>
</li>
<li>
<a href="<?php echo base_url(); ?>media" <?php if($nav_item == 'media'): ?>class="active-nav-item"<?php endif; ?>>Audio/Video</a>
</li>
</ul>
我正从此控制器向此视图发送变量$ nav_item,例如新闻(我有导航中每个项目的控制器,所以:新闻,产品和媒体控制器),如下所示:
class News extends CI_Controller {
public function index()
{
$data['nav_item'] = 'news'; // variable for navigation
$data['main_content'] = 'pages/news';
$this->load->view('template', $data);
}
}
所以,它工作正常,但链接中的代码非常长:
<a href="<?php echo base_url(); ?>news" <?php if($nav_item == 'news'): ?>class="active-nav-item"<?php endif; ?>>News about Cars</a>
我想从这里创建一个函数,我只发送两个参数,它会自动执行其他操作。例如。它看起来像这样:
<a href="<?php echo base_url(); ?>news" <?php activeitem($navitem,'news'); ?>>News about Cars</a>
所以,if $navitem == 'news'
它回应"class='active-nav-item'"
如何执行此功能,以便我可以将其放入我的帮助文件夹中的myown_helper.php。
提前致谢。
答案 0 :(得分:2)
助手的功能可以是:
function activeitem($active_variable = '', $active_nav = '')
{
return $active_variable == $active_nav ? 'class="active-nav-item"' : '';
}
然后在链接上做:
<?=activeitem($nav_item, 'news')?>