傅令江的光影色彩世界
留住记忆的点滴
  • 首页
  • 文学
    • 诗词鉴赏
    • 美文共读
    • 原创
  • 编程
    • php
    • asp
    • .net
    • VB
    • C/C++
    • 易语言
    • js
    • 其他
    • 逆向
  • 运维
    • windows
    • linux
  • 光影色彩
    • 电影
    • 音乐
  • 科技
    • 互联网
    • 手机
  • 生活
    • 情感
  • 微语
10月92021

织梦带二级栏目的导航菜单高亮显示

作者:傅令江   发布:2021-10-9 18:27   分类:php   阅读:2090次   评论:0条  

织梦带二级栏目的导航菜单高亮显示,下面代码未精简。

织梦模板代码如下:

 <style>.mrdede_all{display:none}@media (max-width: 768px) {.mrdede_all{display:block;}}</style>
        {dede:channelartlist typeid='top' currentstyle='active'}
        {dede:field name='typeurl' runphp='yes'}global $GLOBAL;$GLOBAL['typeurl']=@me;@me='';{/dede:field}
        <li class="dropdown margin-left-20">
            <a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}"
                {dede:field name='typeid' runphp='yes'}
                global $dsql,$tid;
                if(@me==$tid){
                    $type = " class='dropdown-toggle link active'";
                }else{
                    $row = $dsql->GetOne("SELECT id FROM `#@__arctype` WHERE (`id`=$tid AND `reid`=@me) OR (`id`=@me AND `reid`=$tid)");
                    $type=is_array($row)?" class='dropdown-toggle link active'":" class='dropdown-toggle link'";
                }
                $row = $dsql->GetOne("SELECT id,reid FROM `#@__arctype` WHERE reid=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
                $type2=is_array($row)?'data-toggle="dropdown" data-hover="dropdown" aria-expanded="false" role="button"':'';
                @me = $type . ' ' . $type2;
                {/dede:field}>
                {dede:field name='typename'/}

                {dede:field name=typeid runphp='yes'}
                global $dsql,$tid,$GLOBAL;
                $_str = @me==$tid?'active':'';
                $row = $dsql->GetOne("SELECT typename FROM `#@__arctype` WHERE id=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
                $row2 = $dsql->GetOne("SELECT id,typename FROM `#@__arctype` WHERE reid=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
                @me=is_array($row2)?'<i class="fa fa-angle-down small"></i></a><ul class="dropdown-menu dropdown-menu-right bullet" role="menu"><li class="mrdede_all"><a href="'.$GLOBAL['typeurl'].'" class="'.$_str.'">'.$row['typename'].'</a></li>':'</a>';
            {/dede:field}

            {dede:channel}
            <li><a href="[field:typelink/]" title="[field:typename/]" class="[field:id runphp='yes']global $tid;@me=@me==$tid?'active':'';[/field:id]">[field:typename/]</a></li>
            {/dede:channel}

            {dede:field name=typeid runphp='yes'}
            global $dsql;
            $row = $dsql->GetOne("SELECT id FROM `#@__arctype` WHERE reid=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
            @me=is_array($row)?'</ul>':'';
            {/dede:field}
        </li>
        {/dede:channelartlist}


上面的代码,在内容页时不显示高亮,所以修改后,如下:

<li><a href="/" title="网站首页" {dede:field name=typeid runphp="yes" }(@me=="")?
	   @me=" class='link active'" :@me="" ;{/dede:field}>网站首页</a></li>

<style>.mrdede_all{display:none}@media (max-width: 768px) {.mrdede_all{display:block;}}</style>
{dede:channelartlist typeid='top' currentstyle='active'}
{dede:field name='typeurl' runphp='yes'}global $GLOBAL;$GLOBAL['typeurl']=@me;@me='';{/dede:field}
<li class="dropdown margin-left-20">
	<a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}"
	   {dede:field name='typeid' runphp='yes'}
	   global $dsql,$tid,$arc;
	   $tid=empty($tid)?$arc->Fields['typeid']:$tid;
	   if(@me==$tid){
	   $type = " class='dropdown-toggle link active'";
	   }else{
	   $row = $dsql->GetOne("SELECT id FROM `#@__arctype` WHERE (`id`=$tid AND `reid`=@me) OR (`id`=@me AND `reid`=$tid)");
		$type=is_array($row)?" class='dropdown-toggle link active'":" class='dropdown-toggle link'";
		}
		$row = $dsql->GetOne("SELECT id,reid FROM `#@__arctype` WHERE reid=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
		$type2=is_array($row)?'data-toggle="dropdown" data-hover="dropdown" aria-expanded="false" role="button"':'';
		@me = $type . ' ' . $type2;
		{/dede:field}>
		{dede:field name='typename'/}

		{dede:field name=typeid runphp='yes'}
		global $dsql,$tid,$GLOBAL;
		$_str = @me==$tid?'active':'';
		$row = $dsql->GetOne("SELECT typename FROM `#@__arctype` WHERE id=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
		$row2 = $dsql->GetOne("SELECT id,typename FROM `#@__arctype` WHERE reid=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
		@me=is_array($row2)?'<i class="fa fa-angle-down small"></i></a><ul class="dropdown-menu dropdown-menu-right bullet" role="menu"><li class="mrdede_all"><a href="'.$GLOBAL['typeurl'].'" class="'.$_str.'">'.$row['typename'].'</a></li>':'</a>';
	{/dede:field}

	{dede:channel}
	<li><a href="[field:typelink/]" title="[field:typename/]" class="[field:id runphp='yes']global $tid,$arc;$tid=empty($tid)?$arc->Fields['typeid']:$tid;@me=@me==$tid?'active':'';[/field:id]">[field:typename/]</a></li>
	{/dede:channel}

	{dede:field name=typeid runphp='yes'}
	global $dsql;
	$row = $dsql->GetOne("SELECT id FROM `#@__arctype` WHERE reid=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
	@me=is_array($row)?'</ul>':'';
	{/dede:field}
</li>
{/dede:channelartlist}

上面的还是不够完美,因为客户发现文章页没有高亮显示,下面把文章模板页单独使用头模板head2.htm,使用前端JS来配合高亮显示,源码如下:

<ul class="nav navbar-nav navbar-right navlist">
<li>
<a href="/" title="网站首页">网站首页</a></li>
	<style>.mrdede_all{display:none}@media (max-width: 768px) {.mrdede_all{display:block;}}</style>
	{dede:channelartlist typeid='top'}
	{dede:field name='typeurl' runphp='yes'}global $GLOBAL;$GLOBAL['_typeurl']=@me;@me='';{/dede:field}
	<li class="dropdown margin-left-0">
		<a id="top_menu_{dede:field.id/}" href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}" 
		class="dropdown-toggle link"
			{dede:field name='typeid' runphp='yes'}
				global $dsql,$GLOBAL;
				$row = $dsql->GetOne("SELECT id,reid FROM `#@__arctype` WHERE reid=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
				$_str = (is_array($row)?' data-toggle="dropdown" data-hover="dropdown" aria-expanded="false" role="button"':'') . '>';

				$row = $dsql->GetOne("SELECT typename FROM `#@__arctype` WHERE id=@me AND ishidden<>1 ORDER BY sortrank ASC LIMIT 0, 100");
				$_str .= $row['typename'];

				$sons = GetSonIds(@me,0,false);
				$_str .= !empty($sons)?' <i class="fa fa-angle-down small"></i></a><ul class="dropdown-menu dropdown-menu-right bullet" role="menu"><li class="mrdede_all"><a href="'.$GLOBAL['_typeurl'].'">'.$row['typename'].'</a></li>':'</a>';
				@me = $_str;
			{/dede:field}

		{dede:channel type='son'}
		<li><a class="son_menu" code="[field:id/]" top-code="[field:id runphp=yes]@me=(GetTopid(@me));[/field:id]" href="[field:typelink/]" title="[field:typename/]">[field:typename/]</a></li>
		{/dede:channel}

		{dede:field name='typeid' runphp='yes'}
			$row = GetSonIds(@me,0,false);
			$tof=!empty($row)?'</ul>':'';
			@me = $tof;
		{/dede:field}
	</li>
	{/dede:channelartlist}
</ul>
<input type="hidden" id="tid" value="{dede:field.typeid/}">
<script type="text/javascript">
  function addClass(obj, cls){
    var obj_class = obj.className,
      blank = (obj_class !== '') ? ' ' : '';
    added = obj_class + blank + cls;
    obj.className = added;
  }
  var tid = document.getElementById('tid').value,
    son_menu = document.getElementsByClassName('son_menu');
  for (var i = 0; i < son_menu.length; i++) {
    var code = son_menu[i].getAttribute('code');
    if(tid === code){
      addClass(son_menu[i], 'active'); // 当前文章的栏目高亮
	  var tops_code = son_menu[i].getAttribute('top-code');
	  addClass(document.getElementById('top_menu_' + tops_code), 'active');
    }
  }
</script>




本文固定链接: https://www.fulingjiang.cn/php/197.html

blogger
该日志由 傅令江 于2021-10-9 18:27 Saturday发表在 php 分类下。
版权所有:《傅令江的光影色彩世界》 → 《织梦带二级栏目的导航菜单高亮显示》;
除特别标注,本博客所有文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:
上一篇::nginx中的if和else语法,变通下
下一篇:PHP base64+gzinflate压缩加密和解密算法

热门文章

  • 兄弟二周年祭

相关文章

  • PHP获取页面的JS和CSS的总数和文件
  • php的一个验证码程序
  • php简单通用的分页类
  • PHP时间日期操作增减(date strtotime) 加一天 加一月
  • PHP控制文件下载速度
取消回复

发表评论

亲,头像对么?

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


  • 日历

  • 存档

    • 2024年10月(1)
    • 2023年2月(1)
    • 2022年11月(1)
    • 2022年10月(10)
    • 2022年9月(13)
    • 2022年8月(2)
    • 2022年7月(14)
    • 2022年6月(2)
    • 2022年5月(8)
    • 2022年4月(7)
    • 2022年3月(13)
    • 2022年2月(2)
    • 2022年1月(9)
    • 2021年12月(2)
    • 2021年11月(4)
    • 2021年10月(2)
    • 2021年9月(6)
    • 2021年7月(4)
    • 2021年6月(3)
    • 2021年5月(3)
    • 2021年4月(11)
    • 2021年3月(13)
    • 2021年2月(2)
    • 2021年1月(1)
    • 2020年12月(1)
    • 2020年4月(5)
    • 2019年9月(1)
    • 2019年8月(1)
    • 2019年5月(3)
    • 2018年3月(1)
    • 2017年10月(1)
    • 2016年7月(1)
    • 2016年4月(1)
    • 2015年12月(1)
    • 2015年11月(3)
    • 2015年9月(1)
    • 2015年8月(10)
    • 2015年7月(1)
    • 2015年6月(1)
    • 2015年4月(1)
    • 2015年3月(3)
    • 2015年2月(8)
    • 2015年1月(4)
    • 2014年12月(1)
    • 2014年11月(27)
    • 2014年10月(13)
    • 2014年9月(14)
    • 2014年8月(26)
    • 2014年7月(21)
  • 最新评论

    • 令狐江:
      喜欢这首歌是因为可以引起共鸣!
  • 链接

    • 演讲稿网
    • Recollect
    • 演讲稿
    • 祁阳人生活网
    • 我爱演讲稿网
  • 搜索

  • 标签

      函数 自定义方法 SEO 分页 分页函数 分页方法 nginx重新的一些规则
  • 分类

    • 文学(0)
    • 编程(0)
    • 运维(0)
    • 光影色彩(0)
    • 科技(0)
    • 生活(0)
    • 诗词鉴赏(3)
    • 美文共读(1)
    • 原创(10)
    • php(111)
    • asp(1)
    • .net(0)
    • VB(0)
    • C/C++(0)
    • 易语言(0)
    • js(8)
    • 其他(9)
    • 逆向(2)
    • windows(11)
    • linux(121)
    • 电影(0)
    • 音乐(1)
    • 互联网(4)
    • 手机(0)
    • 情感(2)
  • 最新文章热门文章随机文章

    • 兄弟二周年祭
    • openai给的ionCube 解密代码,应该是老版本可以这样
    • WordPress – 5秒盾防CC(PHP通用代码)
    • 我高中最好的朋友今天猝死了-伤心得不行
    • Linux系统中 systemd-journaldCPU占用异常的解决方法
    • SVN Skipped 'xxx' -- Node remains in conflict 错误的解决办法
    • 解决Linux读写nfs共享盘速度慢的问题
    • php 获取302跳转后的地址
    • 让vsftp显示隐藏文件的办法,比如显示 .htaccess
    • 添加自签名https证书到centos系统信任的问题
    • PHP读取文件内容的五种方式
    • zencart 模板常用文件说明以及快速模板制作
    • AutoJS 初级操作代码
    • Auto JS 文件类操作
    • auto.js 一些简单操作
Copyright © 2001-2025 傅令江的光影色彩世界. Powered by www.fulingjiang.cn ICP备案:京ICP备14015190号-5