使用过dedecms自由列表的都知道,dede自由列表可以限定全部栏目的文章,也可以限定某个栏目的文章,但是有时我们需要根据网站的需要让自由列表调用多个栏目的文章。遇到这种情况该怎么办呢?下面本篇文章将介绍使用自由列表如何调用多个栏目的文章?
方法一,利用checkbox复选框实现,此方法由dede168(本站)开发
1、打开文件dede\freelist_add.php在第37行找到以下代码:
if(!empty($typeid)) $atts .= " typeid='$typeid' ";
更改为:
if(!empty($typeid)) $atts .= " typeid='".join(',',$typeid)."' ";
2、打开文件dede\freelist_edit.php在第38行找到以下代码:
if(!empty($typeid)) $atts .= " typeid='$typeid' ";
更改为:
if(!empty($typeid)) $atts .= " typeid='".join(',',$typeid)."' ";
3、打开文件dede\templets\freelist_add.htm在第166-180行找到以下代码:
SetQuery("Select ID,typename, channeltype From dede_arctype");
$dsql->Execute();
while($lrow = $dsql->GetObject()){
$disable = '';
if($lrow->channeltype
{
$disable = 'disabled';
}
echo "{$lrow->typename}\r\n";
}
echo "";
?>
更改为:
SetQuery("Select ID,typename, channeltype From dede_arctype");
$dsql->Execute();
while($lrow = $dsql->GetObject()){
$disable = '';
if($lrow->channeltype
{
$disable = 'disabled';
}
echo "{$lrow->typename}";
}
?>
4、打开文件dede\templets\freelist_edit.htm在第130-146行找到以下代码:
GetAtt('typeid');
echo "\r\n";
echo "不限栏目...\r\n";
$dsql->SetQuery("Select id,typename, channeltype From dede_arctype");
$dsql->Execute();
while($lrow = $dsql->GetObject()){
$disable = '';
if($lrow->channeltype
{
$disable = 'disabled';
}
if($lrow->id==$typeid) echo "{$lrow->typename}\r\n";
else echo "{$lrow->typename}\r\n";
}
echo "";
?>
更改为:
GetAtt('typeid');
if($typeid == '0')
{
echo "全部";
}
else
{
echo"全部";
}
$dsql->SetQuery("Select id,typename, channeltype From dede_arctype");
$dsql->Execute();
while($lrow = $dsql->GetObject()){
$disable = '';
if($lrow->channeltype
{
$disable = 'disabled';
}
if(preg_match("#".$lrow->id."#", $typeid))
{
echo "{$lrow->typename}";
}
else
{
echo "{$lrow->typename}";
}
}
?>
到此,修改完毕。
方法二,只给个开发思路,感兴趣的可以按照思路自己开发。
直接利用input文本框实现,在文本框内输入想要调用的栏目ID,此方法适合栏目比较多的网站。
不管使用哪种方法都可实现调用多个栏目的文章。
声明:该资源仅供学习和研究传播,大家请在下载后24小时内删除,一切关于该资源商业行为与www.bcb5.com无关。
本文永久链接地址:https://www.bcb5.com/jianzhan/1274.html
该文章由
本网站所有软件和资料均为软件作者提供和网友推荐收集整理而来,仅供学习和研究使用。如有侵犯你版权的,请来信(邮箱:admin@bcb5.com)指出,本站将立即改正。