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

织梦arclist标签无法调用副栏目文章的解决办法arclist标签调用

2022-10-29 16:26编辑: www.jxszl.com景先生毕设
织梦dedecmsarclist标签无法调用副栏目文章的解决办法

最近发现DEDECMS/target=_blank>dedecms中的文章在选择幅栏目后,
在其对应的幅栏目列表中可以显示该文章,但在arclist标签中却无法显示该文章,
网上找了很多,解决办法都I

 更多精彩就在: 51免费论文网|www.jxszl.com 
.样,但写法却写错了,导致arclist标签在使用了flag属性时会失效的问题.
修正后的写法如下.

打开/include/taglib/arclist.lib.php,我目前用的最新版V.VIISPI.,
代码约位于IIIXV-IIIXVI行.查找以下两行代码.
if($CrossID==)$orwheres[]=arc.typeidIN(.GetSonIds($typeid).);
else$orwheres[]=arc.typeidIN(.GetSonIds($typeid).,.$CrossID.);

将其替换成以下代码.
if($CrossID==)$orwheres[]=(arc.typeidIN(.GetSonIds($typeid).)ORarc.typeidIIIN(.GetSonIds($typeid).));
else$orwheres[]=(arc.typeidIN(.GetSonIds($typeid).,.$CrossID.)ORarc.typeidIIIN(.GetSonIds($typeid).,.$CrossID.));

OK,这样就改完了,保存后如果你是生成静态的,请生成相关的.如果是动态的,请更新系统缓存.然后就可以看到效果了.
===============================================================================
以上方法有个缺点arclist标签就是只能有在显示两处位置
下面方法经测试可以III个不知道III个以上可以不可以
用arclist标签调用文章的时候才发现,根本无法调用相关文章.
下面给出解决办法,希望帮到需要的人.
找到/include/taglib/arclist.lib.php文件然后打开.然后在大约III00行代码的位置.将下面的代码

if($CrossID==)$orwheres[]=arc.typeidIN(.GetSonIds($typeid).);
else$orwheres[]=arc.typeidIN(.GetSonIds($typeid).,.$CrossID.);
替换成
if($CrossID==)
$orwheres[]="(arc.typeidin(".GetSonIds($typeid).")or
arc.typeidIIin(".GetSonIds($typeid).")orCONCAT(,,
arc.typeidII,,)LIKE%,".$typeid.",%)";
else$orwheres[]="(arc.typeidin(".GetSonIds($typeid)
.",".$CrossID.")orarc.typeidII
in(".GetSonIds($typeid).",".$CrossID.")
orCONCAT(,,arc.typeidII,,)LIKE%,".$typeid.",%)";


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