thinkPhp5.0根据访问路径来确定当前是哪个页面,更改菜单样式

网页中用到过的效果 同时被 2 个专栏收录
118 篇文章 0 订阅
12 篇文章 0 订阅

效果是这样的、点击菜单后当前页面的菜单更换样式。

因为菜单部分是公共引用部分,所以只能通过当前页面路径判断菜单的样式更换。

思路是这样的、因为菜单栏部分是公共引入部分,所以新建一个Base.php、所有的控制器继承这个Base.php、然后在Base.php中的控制器初始化时、确认当前是哪一个页面。

Base.php

<?php

namespace app\index\controller;

use think\Controller;

class Base extends Controller
{
    public function _initialize()   //控制器初始化
    {
        $data = $_SERVER['REQUEST_URI'];//获取页面路径
        $ary = explode('/', $data); //将路径以斜杠分割
        if ($ary[1]=='') {  //这里是输入域名的时候,获取的路径是域名之后的内容
            $ex = 'index';
        } else {
            //判断是否是数组
            $ex = explode('/', $data)[2];//控制器的名字
        }
        $this->assign('ex', $ex);//模板赋值
    }
}

前台公共部分

<div class="headerMenu">
    <div>
        <a {if condition="$ex eq 'index'" }class="menuBackColor" {/if} href="{:url('index/index')}" >首页</a>
        <a {if condition="$ex eq 'aboutus'" }class="menuBackColor" {/if} href="{:url('aboutus/aboutus')}">关于我们</a>
        <a {if condition="$ex eq 'chanpin'" }class="menuBackColor" {/if} href="{:url('chanpin/chanpin')}" >产品</a>
        <a {if condition="$ex eq 'anli'" }class="menuBackColor" {/if} href="{:url('anli/anli')}">合作案例</a>
        <a {if condition="$ex eq 'news'" }class="menuBackColor" {/if} href="{:url('news/news')}">新闻资讯</a>
        <a {if condition="$ex eq 'callme'" }class="menuBackColor" {/if} href="{:url('callme/callme')}">联系我们</a>
    </div>
</div>

这是静态的写法,后台动态添加菜单栏后的样式需要在界面循环。

如果有帮到你的话,欢迎激励一下作者。

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

Bright2017

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值