欢迎来到资源库(www.zyku.net)

DedeCMS

当前位置:首页 > CMS教程 > DedeCMS

织梦当前栏目调用二级、三级栏目且栏目高亮解决方法

时间:2018-08-13|栏目:DedeCMS|点击:

在处理企业站的时候,经常发现要调用二三级栏目栏目,且需要高亮显示,具体实现方法如下。

1、打开 \include\taglib\channelartlist.lib.php 找到

$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";

改成

if($type=='son')
    {
     $typeid = ( !empty($refObj->TypeLink->TypeInfos['id']) ?  GetTopid($refObj->TypeLink->TypeInfos['id']) : 0 );
     $tpsql = " reid='$typeid' AND ishidden<>1 ";
    }
    else
    {
     $tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
    }

2、打开 \include\taglib\channel.lib.php 找到

if($type=='son' && $reid!=0 && $totalRow==0

改成

if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')

3、后台-系统-其它选项 模板引擎禁用标签 去掉php

调用代码如下:

<ul>
    {dede:php}
    $GLOBALS['thisid'] = intval($refObj->Fields['typeid']);
    $GLOBALS['reid'] = intval($refObj->Fields['reid']);
    $GLOBALS['topid'] = intval($refObj->Fields['topid']);
    {/dede:php}
    {dede:channelartlist type=son}
        <li{dede:field.typeid runphp=yes}(@me==$GLOBALS['thisid']||@me==$GLOBALS['reid']||@me==$GLOBALS['topid'])? @me=' class="current"':@me='';{/dede:field.typeid}><a href='{dede:field.typeurl/}' >{dede:field.typename/}</a></li>
        <ul>
        {dede:channel type=son noself=yes}
        <li[field:id runphp=yes](@me==$GLOBALS['thisid'])? @me=' class="current2"':@me='';[/field:id]><a href='[field:typelink /]' title='[field:typename/]'>[field:typename/]</a></li>
        {/dede:channel}
        </ul>
    {/dede:channelartlist}
</ul>

至此,全部完成。

(资源库 www.zyku.net)

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

沪ICP备15050984号-12