Codeigniter--如何给链接添加“active”CSS类?

6

如何最快最简单地为链接添加“active”类,以便进行样式设置?我正在使用CI开发应用程序,希望能够自动快速地完成此操作。

jQuery也是一种选择...

5个回答

14

你应该使用CodeIgniter URI类来完成这个任务,而不是使用$_SERVER['REQUEST_URI']。

$this->uri->uri_string()


if ( $this->uri->uri_string() == '/contact' )

^^ 这种方式是优选的,因为在使用CodeIgniter路由功能时可能会出现一些复杂性


是的,最终我使用了这种方法。 - Kevin Brown
1
我必须使用以下内容才能使其工作: if ($this->uri->uri_string() == 'home') //删除正斜杠 - Sahil

6

这取决于您如何输出链接HTML。

如果您使用的是URL Helper模块,则可以调用anchor()函数创建您的链接,并将属性数组作为第三个参数传递,例如:

$this->load->helper('url');
echo anchor('url/path', 'Click here', array('class' => 'active'));

今日免费次数已满, 请开通会员/明日再来

6
如果你有许多导航项目,你可以使用以下方法(非常简化)...
<ul>
<li<?= if ( $_SERVER['REQUEST_URI'] == '/contact' ): ?> id="active"<?php endif; ?>><a href="">contact</a></li>
</ul>

你需要根据自己的需求进行编辑...

如果导航项不太多,一种更简单的方法是给每个页面一个body id,然后使用css来使其活动。

<style type="text/css">
body#contact #contact-nav { font-weight:bold; }
</style>

<body id="contact">

<ul id="navigation">
    <li id="contact-nav"><a href="">contact</a></li>
</ul>

1
太棒了!第一个选项可行(稍作调整)! - Kevin Brown

4
您可以通过创建以下帮助器来实现这一点:

您可以通过创建帮助器以以下方式完成此操作

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('active_link'))
{
    function active_link($controller)
    {
        $CI =& get_instance();

        $class = $CI->router->fetch_class();
        return ($class == $controller) ? 'active' : '';
    }
}

然后在菜单视图中应用它。
<li class="<?php echo active_link('services'); ?>"><a href="<?php echo base_url();?>services">Services</a></li>

这个问题已经有4年了,你的回答对该帖子没有任何益处... - Kevin Brown
1
这是我迄今为止遇到的最简单的代码块.. 谢谢 :) - Fahid Mohammad
@FahidMohammad 是的,这就是为什么我在这里回答尽管这个问题很旧。 - Robin

1
为了给链接添加活动类(class =“active”),我通过以下方式完成:
在视图中
<ul class="nav nav-tabs"> 
        <li id="button_home" class='<?php echo $home;?>'><?php echo anchor('pages/index','Home');?></li>
        <li id="button_about" class='<?php echo $about;?>'><?php echo anchor('pages/about','About')?></li> 
</ul>

在控制器中。
$data['home']="active";

也许这不是你的解决方案,但对我有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接