我正在将Bootstrap导航栏与CodeIgniter一起使用。
现在,在我的应用程序中,我想将<li>
类更改为每个页面动态激活。
所以我可以知道我目前在哪个页面上。这工作正常,但是我面临的问题是单击时
任何其他链接,例如“关于我们”或“服务”等。它应显示关于我们或服务等的活跃状态,并且
应该不会在首页上显示为活动状态,但就我而言,它在关于我们或服务页面等上显示为活动状态,但是
以及它在主页上显示活动页面,甚至很难在主页上显示m,而在主页上应该仅显示活动页面
关于我们或此类服务的页面,任何人都可以告诉我如何解决此问题。
Home.php(控制器页面中的文件)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
public function index()
{
$this->load->helper('url');
$this->load->view('header');
$this->load->view('index');
$this->load->view('footer');
}
public function about()
{
$this->load->helper('url');
$this->load->view('header');
$this->load->view('about');
$this->load->view('footer');
}
public function services()
{
$this->load->helper('url');
$this->load->view('header');
$this->load->view('services');
$this->load->view('footer');
}
public function portfolio()
{
$this->load->helper('url');
$this->load->view('header');
$this->load->view('portfolio');
$this->load->view('footer');
}
public function blog()
{
$this->load->helper('url');
$this->load->view('header');
$this->load->view('blog');
$this->load->view('footer');
}
public function contact()
{
$this->load->helper('url');
$this->load->view('header');
$this->load->view('contact');
$this->load->view('footer');
}
}
?>
header.php(视图页面中的文件)
<ul class="nav nav-tabs" role="tablist">
<li role="presentation"><a href="<?php echo site_url("Home/"); ?>" class="<?php if($this->uri->segment(1)=="Home"){echo 'active';}?>">Home</a></li>
<li role="presentation"><a href="<?php echo site_url("Home/About/"); ?>" class="<?php if($this->uri->segment(2)=="About"){echo 'active';}?>">About Us</a></li>
<li role="presentation"><a href="<?php echo site_url("Home/Services/"); ?>" class="<?php if($this->uri->segment(2)=="Services"){echo 'active';}?>">Services</a></li>
<li role="presentation"><a href="<?php echo site_url("Home/Portfolio/"); ?>" class="<?php if($this->uri->segment(2)=="Portfolio"){echo 'active';}?>">Portfolio</a></li>
<li role="presentation"><a href="<?php echo site_url("Home/Blog/"); ?>" class="<?php if($this->uri->segment(2)=="Blog"){echo 'active';}?>">Blog</a></li>
<li role="presentation"><a href="<?php echo site_url("Home/Contact/"); ?>" class="<?php if($this->uri->segment(2)=="Contact"){echo 'active';}?>">Contact</a></li>
</ul>
答案 0 :(得分:0)
这是因为“主页”在您的结构中始终是第1段,因此始终处于活动状态。
像这样更改逻辑:
<li role="presentation"><a href="<?php echo site_url("Home/"); ?>" class="<?php if(is_null($this->uri->segment(2)){echo 'active';}?>">Home</a></li>