dedecms调用指定单一子栏目文章列表无内容的问题

dedecms调用指定栏目的文章列表方法为:

{dede:channelartlist typeid=”9”}
<ul>
{dede:arclist titlelen=’60’ row=’4’ orderby=’click’}
<li>[field:textlink/]</li>
{/dede:arclist}
</ul>
{/dede:channelartlist}

但是刚在使用时发现,只有在id是顶级栏目的时候才会有文章列表出现,而换位任一子栏目时,结果却是空的,并无该有的子栏目文章列表出现。

于是查找dedecms代码,发现是这个“channelartlist”方法里的代码语句导致,原为:

if(!preg_match(‘#,#’, $typeid)) {
$tpsql = “ reid=’$typeid’ AND ispart<>2 AND ishidden<>1 “;
}
else {
$tpsql = “ id IN($typeid) AND ispart<>2 AND ishidden<>1 “;
}

修改为以下代码,则调用指定任一子栏目文章列表显示正常:

if(!preg_match(‘#,#’, $typeid)) {
$tpsql = “ id IN($typeid) AND ispart<>2 AND ishidden<>1 “;
}
else {
$tpsql = “ id IN($typeid) AND ispart<>2 AND ishidden<>1 “;
}

特此记录如下。

原创文章,如需转载请注明出处,thankyou!

IT民工一枚,求各种打赏!