与CAKEPHP的活动菜单链接

 微笑5885 发布于 2023-02-13 15:37

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

    我在app/view/pages /中有我的所有观点

    我使用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
    我把"我删除了这里的页面"放在哪里,这只是单引号.

    在我的菜单中,我有以下HTML (app/view/layouts/default.ctp):

    href="contact">Contact 
    href="about">About
    

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

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

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

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

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

1 个回答
  • 你可以知道你所在的页面是当前的$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>
    

    要么

     <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>
    

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

    2023-02-13 15:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有