-1

我认为有一个菜单:

<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 中的 helpers 文件夹中。

提前致谢。

4

1 回答 1

2

助手的功能可以是:

function activeitem($active_variable = '', $active_nav = '')
{
    return $active_variable == $active_nav ? 'class="active-nav-item"' : '';
}

然后在链接上做:

<?=activeitem($nav_item, 'news')?>
于 2012-06-14T20:50:03.503 回答