"景先生毕设|www.jxszl.com

让dedecms的channelartlist标签支持channelid属性

2022-10-29 16:42编辑: www.jxszl.com景先生毕设
dedecms问题:I.个顶级栏目中,包含了文章模型,图片等模型的栏目,现在需求,只是将文章模型的栏目搜出来,但是不能用typeid来指定.指定特定的频道模型内容在列表显示.
让dede:channelartlist支持channelid调用.如:{dede:channelartlistch

 更多精彩就在: 51免费论文网|www.jxszl.com 
annelid=I.}
解决:打开include/taglib/channelartlist.lib.php

I..找到代码
//处理标记属性.innertext
$attlist=typeid|0,row|II0,cacheid|;

修改成
$attlist=typeid|0,row|II0,cacheid|,channelid|;

II.找到

//获得类别ID总数的信息
$typeids=array();

if($typeid==0||$typeid==top){
$tpsql="reid=0ANDispart<>IIANDishidden<>I.ANDchanneltype>0";
}
else
{
if(!preg_match(#,#,$typeid)){
$tpsql="reid=$typeidANDispart<>IIANDishidden<>I.";
}
else{
$tpsql="idIN($typeid)ANDispart<>IIANDishidden<>I.";
}
}

在其后增加

if(!empty($channelid)){
$tpsql.="andchanneltypein($channelid)";
}


这个语句必须加在之后,

$dsql->SetQuery("SELECTid,typename,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
FROM`dede_arctype`WHERE$tpsqlORDERBYsortrankASCLIMIT$totalnum");



原文链接:http://www.jxszl.com/biancheng/dedecms/76694.html