GVKun编程网logo

织梦CMS,当前栏目高亮显示(织梦栏目内容不显示)

26

此处将为大家介绍关于织梦CMS,当前栏目高亮显示的详细内容,并且为您解答有关织梦栏目内容不显示的相关问题,此外,我们还将为您介绍关于Dedecms(织梦CMS)子栏目高亮操作、DedeCms列表页内容

此处将为大家介绍关于织梦CMS,当前栏目高亮显示的详细内容,并且为您解答有关织梦栏目内容不显示的相关问题,此外,我们还将为您介绍关于Dedecms(织梦CMS)子栏目高亮操作、DedeCms列表页内容页栏目高亮和当前栏目调用二三级栏目、dedecms栏目页内容详细页栏目高亮和当前栏目调用二三级栏目、dedecms织梦channelartlist标签当前栏目高亮的有用信息。

本文目录一览:

织梦CMS,当前栏目高亮显示(织梦栏目内容不显示)

织梦CMS,当前栏目高亮显示(织梦栏目内容不显示)

 

不多说废话,直接上代码。

 {dede:php} 

 $GLOBALS['thisid'] = intval($refObj->Fields['id']);

 {/dede:php} 

<ul>   

 <li><a href=http://www.dede58.com/a/dedejq/"/" target="_blank"  {dede:php} if(!$GLOBALS['thisid']) echo ""; {/dede:php}><span>HOME</span><br />首 页</a></li> 

 {dede:channel type='top' row='7' }   

 <li><a href=http://www.dede58.com/a/dedejq/"[field:typeurl/]" [field:id runphp='yes'] if (@me == $GLOBALS['thisid'] ) @me = "" ;[/field:id]  target="_blank" ><span>[field:alias/]</span><br />[field:typename/]</a></li> 

{/dede:channel} 

</ul> 

以上是全部代码。下面进行说明

 

 {dede:php}  $GLOBALS['thisid'] = intval($refObj->Fields['id']); {/dede:php} 

获取当前栏目ID。

 

[field:id runphp='yes'] if (@me == $GLOBALS['thisid'] ) @me = "" ;[/field:id] 

对dede:channel标签运行PHP,如果ID相等,输出

本文章网址:http://www.ppssdd.com/code/13919.html。转载请保留出处,谢谢合作!

Dedecms(织梦CMS)子栏目高亮操作

Dedecms(织梦CMS)子栏目高亮操作

前言

继续来说说织梦(坑爹)CMS的问题吧。

场景:

企业动态下,分别有如下六个栏目:

clipboard.png

要求点击到哪个栏目,哪个栏目则高亮显示

本来嘛,这不是so easy吗?(这里指PHP的其他cms)

但是对于dede,我上网看了半天,标签调用方法都尝试了,貌似没戏,当然,涉及到改源码一律忽略,没必要。(浪费时间,增加风险)

那么问题来了,怎么在短时间内解决这个问题呢?

方案

这里能想到最简单省事的就是使用Js了,当然,有人说你在栏目中判断id不就行了吗?是啊,但是id不能写死啊,否则后期用户更改栏目岂不是不灵活了。

好了,说正事。

下面是我上面调用的第一张图的html代码:

    <divcurrent_typedir="{dede:field name=''typedir''/}">
        <ul>
            {dede:channelartlist typeid="14"}
                <li typedir="{dede:field name=''typedir''/}">
                    <a href="{dede:field name=''typeurl''/}">
                        <div>{dede:field name=''typename''/}</div>
                        <span>&nbsp;</span>
                    </a>
                </li>
            {/dede:channelartlist}
        </ul>
    </div>

结构很简单,就是一个栏目列表的循环,循环中设置一个属性,获取到当前循环到的栏目的typedir(栏目存放目录),然后还获取到当前页面的typedir,下面用js进行比较,起码typedir是不会错的。

下面是js的代码,因为还涉及到hover的效果,所以代码中有一部分是hover的:

    $(function(){
        // 初始效果
        checkMenu();

        // 移动效果
        $(".neibu_til li").hover(function(){
            $(this).siblings().find("span").attr("class","");
            $(this).find("span").attr("class","ing");
        },function(){
            $(this).find("span").attr("class","");
            checkMenu();
        });
        
        function checkMenu()
        {
            var the_cur_dir = $(''.neibu_til'').attr(''current_typedir'').split(''/'').pop();
            $(".neibu_til").find("li").each(function(){
                var dir_last = $(this).attr(''typedir'').split(''/'').pop();
                if (dir_last == the_cur_dir) {
                    $(this).find(''span'').attr(''class'',''ing'');
                }
            });
        }
    })

总结

好了,长话短说,就这么多,希望在这个不愉快的周六能给大家带来些许愉快吧。

DedeCms列表页内容页栏目高亮和当前栏目调用二三级栏目

DedeCms列表页内容页栏目高亮和当前栏目调用二三级栏目

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

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

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

改成

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

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

改成

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

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

调用代码如下:

PHP">
    {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} {dede:field.typename/}
      {dede:channel type=son noself=yes} [field:typename/] {/dede:channel}
    {/dede:channelartlist}

至此,全部完成。

dedecms栏目页内容详细页栏目高亮和当前栏目调用二三级栏目

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='':@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='':@me='';[/field:id]><a href='[field:typelink /]' title='[field:typename/]'>[field:typename/]</a></li> {/dede:channel} </ul> {/dede:channelartlist} </ul>  

至此,全部完成。

本文章网址:http://www.ppssdd.com/code/10606.html。转载请保留出处,谢谢合作!

dedecms织梦channelartlist标签当前栏目高亮

dedecms织梦channelartlist标签当前栏目高亮

 
织梦dedecms里currentstyle只支持dede:channel,这种只能调取一层栏目,而我们制作织梦网站模板时,在导航栏里经常要调用到一级和二级栏目, 然后让当前栏目高亮,使用特殊样式,要用到dede:channelartlist,现在呢dedecms织梦currentstyle在 dede:channelartlist里中无法使用的,需要我们自己添加一些代码才行。
 
织梦channelartlist标签完美支持currentstyle属性,实现自动加载当前栏目CSS样式,可以用来标识当前栏目位置的CSS,解决方法如下:
 
1、打开文件include\taglib\channelartlist.lib.php
找到:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
 
2、在此行代码下方增加以下代码:
 
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'] = '';
        }
 
添加这个后才能对二级栏目也起作用
 
4、调用方法:
 
{dede:channelartlist typeid='2' current}
<li><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></li>
{/dede:channelartlist}
 
如果是当前栏目则 li的class属性显示current,否则显示,也可以修改current。
 
-------------------------------------------------------------------------------------------------------------------------
 
5、也可以与arclist标签相结合使用,这样调用:
 
{dede:channelartlist typeid='2' current}
<dt ><ahref='{dede:fieldname='typeurl'/}'>{dede:field name='typename'/}</a></dt>
{dede:arclist titlelen='42' row='10' current}
     [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://www.ppssdd.com/code/856.html。转载请保留出处,谢谢合作!

关于织梦CMS,当前栏目高亮显示织梦栏目内容不显示的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Dedecms(织梦CMS)子栏目高亮操作、DedeCms列表页内容页栏目高亮和当前栏目调用二三级栏目、dedecms栏目页内容详细页栏目高亮和当前栏目调用二三级栏目、dedecms织梦channelartlist标签当前栏目高亮的相关信息,请在本站寻找。

本文标签: