dedecms调用指定栏目的文章列表方法为:
text
{dede:channelartlist typeid="9"}
{dede:arclist titlelen='60' row='4' orderby='click'}
[field:textlink/]
{/dede:arclist}
{/dede:channelartlist}
但是刚在使用时发现,只有在id是顶级栏目的时候才会有文章列表出现,而换位任一子栏目时,结果却是空的,并无该有的子栏目文章列表出现。
于是查找dedecms代码,发现是这个“channelartlist”方法里的代码语句导致,原为:
text
if(!preg_match('#,#', $typeid)) {
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
}
else {
$tpsql = " id IN($typeid) AND ispart<>2 AND ishidden<>1 ";
}
修改为以下代码,则调用指定任一子栏目文章列表显示正常:
text
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!