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

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

1
2
3
4
5
6
7
{dede:channelartlist typeid="9"}

{dede:arclist titlelen='60' row='4' orderby='click'}
[field:textlink/]
{/dede:arclist}

{/dede:channelartlist}

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

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

1
2
3
4
5
6
if(!preg_match('#,#', $typeid)) {
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
}
else {
$tpsql = " id IN($typeid) AND ispart<>2 AND ishidden<>1 ";
}

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

1
2
3
4
5
6
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!