织梦channelartlist标签当前栏目高亮

channelartlist标签完美支持currentstyle属性,实现自动加载当前栏目CSS样式,可以用来标识当前栏目位置的CSS,解决方法如下:
打开文件include\taglib\channelartlist.lib.php
找到:

$pv->Fields[‘typeurl‘] = GetOneTypeUrlA($typeids[$i]); 

在此行代码下方增加以下代码:

if($typeids[$i][‘id‘] == $refObj->TypeLink->TypeInfos[‘id‘] || $typeids[$i][‘id‘] == $refObj->TypeLink->TypeInfos[‘topid‘] ){
            $pv->Fields[‘currentstyle‘] = $currentstyle ? $currentstyle : ‘current‘;
        }
        else{
            $pv->Fields[‘currentstyle‘] = ‘‘;
        } 

添加这个后才能对二级栏目也起作用
调用方法:

{dede:channelartlist typeid=‘2‘ currentstyle=‘current‘}
<li class=‘{dede:field.currentstyle/}‘><a href=‘{dede:field name=‘typeurl‘/}‘>{dede:field name=‘typename‘/}</a></li>
{/dede:channelartlist}

如果是当前栏目则 li的class属性显示current,否则显示class=‘‘ ,也可以修改currentstyle=‘这里改为你需要的类名‘。



也可以与arclist标签相结合使用,
这样调用:

{dede:channelartlist typeid=‘2‘ currentstyle=‘current‘}
<dt><a class=‘{dede:field.currentstyle/}‘ href=‘{dede:fieldname=‘typeurl‘/}‘>{dede:field name=‘typename‘/}</a></dt>
{dede:arclist titlelen=‘42‘ row=‘10‘ currentstyle="<dd><a class=‘current‘ href=‘~typelink~‘>~typename~</a></dd>"}
     [field:array runphp=‘yes‘]
         if(@me[‘currentstyle‘]){
             @me = @me[‘currentstyle‘];
         }else{
             @me = "<dd ><a href=‘{@me[‘arcurl‘]}‘>{@me[‘title‘]}</a></dd>";
         }
     [/field:array]
{/dede:arclist}
{/dede:channelartlist}

原文地址:http://blog.51cto.com/taoyouth/2179037

时间: 2024-10-12 00:18:15

织梦channelartlist标签当前栏目高亮的相关文章

织梦channelartlist标签不能获取外部链接的解决办法

下拉菜单时一段代码搞定多个顶级栏目和子级栏目的同时输出. <div> <ul> {dede:channelartlist row=6}只能首页用,子页要用改成{dede:channelartlist row=6 typeid='top'} <li> <h3><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>></h3> &l

织梦dedecms标签调用集合,绝对是仿站必备利器

今天分享下整理了织梦dedecms标签调用集合,绝对是仿站必备利器啊,觉得有用就转走吧!温馨小提示:CTRL+F 搜索你需要的标签名,就可以方便找到:织梦dedecms标签调用集合-首页标签:网站导航标签: {dede:channel row="10" type="top" col="1" currentstyle="<li class='hover'><a href='~typelink~' ~rel~><

如何修改织梦dede_tag标签的长度

php900小编以前在使用织梦TAG标签的时候,总是获取的TAG很短,一个字,二个字的,看着太别扭了.如何解决呢. 分二步: 1,修改数据库中的dede_tagindex 和dede_taglist的tag字段属性:varchar(12)修改为varchar(255)[各位网友操作这步的时候,数据库要备案下哦,以防万一,php900小编操作数据库都会备份的] 2,打开/include/helpers/archive.helper.php文件. 查找:if(isset($tag[12]) 修改为:

织梦如何调用四级栏目

织梦调用四级子栏目,首先需要修改文件:\include\taglib目录下的channel.lib.php,请将以下代码全部复制替换上述文件: <?php function lib_channel(&$ctag,&$refObj) { global $_sys_globals,$envs,$dsql; $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|"; FillAttsDefault

在织梦channel标签中如何调用栏目seotitle

我们在使用织梦5.7系统做网站时,会经常用到{dede:channel}标签,有时我们需要调用栏目seotitle字段.比如说: {dede:channel type=’sun’ typeid=’1’} <a href=’[field:typelink/]’>[field:typename/]</a> {/dede:channel} [field:typename/]这里要使用{dede:field.seotitle /},也就是说在织梦{dede:channel}标签中调用栏目s

织梦常用标签

织梦标签 -------------------------------------------------------- 1.{dede:field name="typename"}    这是调用当前栏目的名称 ---------------------------------------------------------- 2.{dede:channel type='son' row='5'} <a href="[field:typeurl/]">

织梦channel标签currentstyle样式无效不起作用

我们在用织梦系统制作网站时,经常会用到channel标签来调子栏目.但是,很多朋友会遇到这种情况在使用channel标签来调子栏目的时候,指定 “type=son typeid=x” 发现currentstyle无效.今天笔者就跟大家分享一下解决方法. 1.解决channel标签currentstyle样式无效不起作用的错误方法 代码如下: 1 {dede: type='son' typeid='12' current~typename~">~typename~</a> <

dede织梦调用顶级二级栏目及下三级栏目方法!

通过dede调用二级栏目大家都会调用,但要调用三级栏目,就有点麻烦了,如下样式的三级栏目dede如何调用呢?如下: ----------------------------------------A级主栏目 +顶级栏目 +二级栏目        +三级栏目(A)        +三级栏目(B)        +三级栏目(C)    +二级栏目        +三级栏目(D)        +三级栏目(E)        +三级栏目(F) -----------------------------

织梦DedeCMS删除所有栏目或文章后,新建ID不从1开始的解决方法

这个修改方法很简单,从模板无忧那里找到的,只需要在后台系统-SQL命令行工具里面运行以下语句即可,不用采用笨方法重新安装织梦CMS了. 删除所有栏目,新建ID从1开始: ALTER TABLE `dede_arctype` AUTO_INCREMENT =1; 删除所有文章,新发布文章ID从1开始: ALTER TABLE `dede_archives` AUTO_INCREMENT =1;