云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何实现只调用指定栏目文章而不包括其子栏目的内容?

织梦CMS调用指定栏目文章但不调用子栏目文章的方法

在织梦CMS中,调用指定栏目的文章时,默认情况下也会调用该栏目的子栏目文章,如果需要只调用指定栏目的文章而不包括子栏目的文章,可以通过以下几种方法实现。

方法一:使用标签属性限制文章来源

1、选择标签:在织梦后台,找到“单页内容”或“列表内容”标签。

2、添加属性:在标签的属性中,添加catid属性,并设置为其父栏目的ID。

3、设置子栏目排除:在标签属性中,添加notincats属性,并设置为其子栏目的ID,用逗号分隔。

“`html

<!示例:调用ID为1的栏目文章,排除ID为2和3的子栏目文章 >

<dede:arclist catid="1" notincats="2,3" />

“`

方法二:自定义函数过滤文章

1、编写函数:在织梦模板的头部或底部,编写一个自定义函数,用于过滤文章来源。

“`php

function filter_articles($catid, $notincats) {

global $dsql;

$sql = "SELECT aid FROM dede_arctype WHERE reid = ‘$catid’";

$cates = $dsql>GetAll($sql);

foreach ($cates as $v) {

$notincats .= ‘,’ . $v[‘id’];

}

return $notincats;

}

“`

2、调用函数:在arclist标签中调用自定义函数。

“`html

<!示例:调用ID为1的栏目文章,排除子栏目文章 >

<dede:arclist catid="1" notincats="{dede:field.catid/}" />

“`

方法三:使用SQL查询过滤

1、编写SQL查询:直接在SQL查询中过滤掉子栏目文章。

“`html

<!示例:调用ID为1的栏目文章,排除子栏目文章 >

<dede:arclist catid="1" channelid="1" order="id" limitsize="10">

<sql>

SELECT aid FROM dede_arctype WHERE reid = ‘{dede:field.catid/}’ AND id NOT IN ({dede:field.catid/})

</sql>

</dede:arclist>

“`

三种方法都可以实现只调用指定栏目的文章而不调用其子栏目文章,根据实际情况选择合适的方法进行实现。

代码示例需要在织梦CMS的模板文件中正确使用,并且需要根据实际情况调整栏目ID和属性,在实际操作中,可能需要根据具体的模板文件和栏目结构进行调整。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何实现只调用指定栏目文章而不包括其子栏目的内容?》
文章链接:https://www.yunzhuji.net/yunfuwuqi/238923.html

评论

  • 验证码