如何避免在织梦CMS中无子栏目的同级栏目显示?

在织梦CMS中,要让{dede:channel}标签在无子栏目时不显示同级栏目,可以通过修改模板文件实现。具体操作如下:,,1. 打开模板文件,找到{dede:channel}标签所在的位置。,2. 在{dede:channel}标签内部添加一个判断条件,当当前栏目没有子栏目时,不显示同级栏目。可以使用{dede:field name='typeid' function='GetSonIds(@me)'}获取当前栏目的子栏目ID列表,然后使用count()函数计算子栏目数量,如果数量为0,则不显示同级栏目。,,示例代码:,,“html,{dede:channel type='top' currentstyle='##title##'}, {dede:field name='typeid' function='GetSonIds(@me)' assign='sonids'}, {dede:field name='typeid' function='count(@sonids)' assign='soncount'}, [eq name='soncount' value='0'], {dede:field name='typeurl'/}, [/eq],##title##,{/dede:channel},`,,这段代码首先获取当前栏目的子栏目ID列表,并计算子栏目数量。然后使用[eq][/eq]`标签判断子栏目数量是否为0,如果为0,则输出当前栏目的链接。这样就实现了在无子栏目时不显示同级栏目的效果。

在织梦CMS中,{dede:channel}标签用于调用栏目,但有时我们希望在没有子栏目时不显示同级栏目,以下是两种方法来实现这一需求:

方法一:修改 channel.lib.php 文件

1、打开文件:找到并打开includetaglibchannel.lib.php文件。

2、查找代码:在该文件中搜索以下代码:

“`php

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

“`

3、修改代码:将上述代码修改为:

“`php

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

“`

4、应用标签:在模板中使用{dede:channel}标签时,添加noself属性:

“`html

{dede:channel type=’son’ noself=’yes’}

“`

5、示例代码

“`html

<ul>

{dede:channelartlist typeid=’10’}

<li class="li_biaoti"><a class="s" href="{dede:field name=’typeurl’/}">{dede:field name=’typename’/}</a></li>

{dede:channel type=’son’ noself=’yes’}

如何避免在织梦CMS中无子栏目的同级栏目显示?

<li><a class="t" href="[field:typelink/]">[field:typename/]</a></li>

{/dede:channel}

{/dede:channelartlist}

</ul>

“`

方法二:注释掉指定代码行

1、打开文件:找到并打开includetaglibchannel.lib.php文件。

2、查找代码:在该文件中查找第110行。

3、注释代码:将第110行的代码注释掉,如下所示:

“`php

// if($type==’son’ && $reid!=0 && $totalRow==0)

“`

4、保存文件:保存修改后的文件。

5、刷新页面:刷新页面,即可看到效果。

表格对比两种方法

方法 步骤 优点 缺点
方法一 修改 channel.lib.php 文件 灵活性高,适用于多种场景 需要修改系统文件,有一定风险
方法二 注释掉指定代码行 简单直接,无需修改标签 只适用于特定情况,不够灵活

相关问答FAQs

1、问:如果修改了channel.lib.php文件后没有生效怎么办?

答:确保你已经正确修改了文件,并且清除了缓存,如果仍然无效,请检查是否有其他插件或设置影响了该功能。

2、问:为什么需要添加noself属性?

答:noself属性用于控制是否显示同级栏目,当设置为“yes”时,表示不显示同级栏目,从而解决了无子栏目时显示同级栏目的问题。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1107832.html

(0)
未希的头像未希新媒体运营
上一篇 2024-09-30 10:18
下一篇 2024-09-30 10:18

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入