ビューにメニューがあります:
<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>
これから、2 つのパラメーターのみを送信し、他のことを自動的に行う関数を作成したいと思います。たとえば、次のようになります。
<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 フォルダーに入れることができるように、この関数を実行する方法。
前もって感謝します。