与CAKEPHP的活动菜单链接

Ste*_*eve 0 cakephp

我正在使用CakePHP,我有一个疑问.

  1. 我在app/view/pages /中有我的所有观点
  2. 我使用url路由Router :: connect('/',array('controller'=>'我删除了WORD PAGES HERE','action'=>'index')); 而不是
    Router :: connect('/',array('controller'=>'pages','action'=>'display','home'));
    这允许我有www.site.com/contact而不是www.site.com/pages/contact
    我把"我删除了这里的页面"放在哪里,这只是单引号.
  3. 在我的菜单中,我有以下HTML (app/view/layouts/default.ctp):

    href="contact">Contact 
    href="about">About
    
    Run Code Online (Sandbox Code Playgroud)

    上面,目的是展示UL LI,但我不知道如何在这里公开代码.

  4. 我在这个主题上阅读了30多个不同的页面,但没有显示的代码解决了我的问题.我想要的是突出显示活动菜单LI CLASS ="ACTIVE",这就是全部.如果我在www.site.com/contact,我的菜单应该突出显示我正在"联系"等.

在PHP我可以做,但在CakePHP不能.

有人可以帮帮我吗?谢谢.

这是我正在谈论的例子: 如何在CakePhp的当前页面中添加活动类
但在我的情况下,这只是一个简单的应用程序.我不使用数据库,我不使用任何控制器.我只是使用布局的东西.

Ary*_*yan 5

你可以知道你所在的页面是当前的$this->params['action'];,所以你可以使用这个来设置活动类在<li>或在<a>

<ul id="selectnav">
                <li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='home') )?'active' :'inactive' ?>">
                  <a href="/"><i class="icon-hdd"></i>Home</a>
                </li>
                <li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='about') )?'active' :'inactive' ?>">
                  <a href="/aboutus"><i class="icon-heart-empty"></i>About</a>
                </li>

                <li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='contact') )?'active' :'inactive' ?>">
                    <a href="/contactus"><i class="icon-envelope-alt"></i>Contact</a>
                </li>
              </ul>
Run Code Online (Sandbox Code Playgroud)

要么

 <ul id="selectnav">
                    <li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='home') )?'active' :'' ?>">
                      <a href="/"><i class="icon-hdd"></i>Home</a>
                    </li>
                    <li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='about') )?'active' :'' ?>">
                      <a href="/aboutus"><i class="icon-heart-empty"></i>About</a>
                    </li>

                    <li class="<?php echo (!empty($this->params['action']) && ($this->params['action']=='contact') )?'active' :'' ?>">
                        <a href="/contactus"><i class="icon-envelope-alt"></i>Contact</a>
                    </li>
                  </ul>
Run Code Online (Sandbox Code Playgroud)

你提到的问题是对的,你可以使用这种方法