/*>>dede>>
相关文档
全局标记

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

织梦DEDECMS5.7相關文章的调用问题

2022-10-29 16:27编辑: www.jxszl.com景先生毕设
织梦DEDECMSV.VII相关文章本来版本是支持的,这点我们在做I.些网站的时候很重要,但是用网上找到的{dede:likeart}"标签却无法实现关联,显示的则是所有文章,当然后台已经启用了关键字关连文章",文章的标签和关键字也已经设置好了,但问题I.直没能解决,今天在研究织梦DEDECMSvV

 更多精彩就在: 51免费论文网|www.jxszl.com 
.VII模板的时候,发现likearticle.lib.php中开始部分有下面的描述:
/*>>dede>>
相关文档
全局标记
VVV,VVVI,VVVII
自动关连文档标签

{dede:likearticlerow=col=titlelen=infolen=}
[field:title/]
{/dede:likearticle}


col:分多少列显示(默认为单列)
row:返回文档列表总数
titlelen:标题长度等同于titlelength
infolen:表示内容简介长度等同于infolength
mytypeid:手工指定要限定的栏目id,用,分开表示多个
innertext:单条记录样式(指标签中间的内容)

>>dede>>*/

原来从V.V版开始已经替换了该标签,把模板中likeart标签修改为likearticle就ok了.(像这样的描述在VV.VII中很多文件都有,以前版本包括V.VI中是没有的.)
整理I.下dedecms相关文章正确的调用代码应该是:

{dede:likearticlerow=col=titlelen=infolen=}
[field:title/]
{/dede:likearticle}
参数说明:
col=分多少列显示(默认为单列)
row=I.0返回文档列表总数
titlelen=III0标题长度等同于titlelength
infolen=I.VI0表示内容简介长度等同于infolength
mytypeid=0手工指定要限定的栏目id,用,分开表示多个
innertext=单条记录样式(指标签中间的内容)

看得出来,likeartcle标签默认是不支持orderby属性的(包括VV.VII),模板团找到了修改的方法:

编辑likearticle.lib.php文件,首先获得标签传递过来的orderby的属性值,找到:

extract($ctag->CAttribute->Items,EXTR_SKIP);
$revalue=";

在下面添加:

$orderby=$ctag->GetAtt(‘orderby’);
在源代码中找到下面代码:

if(empty($arcid)||$byabs==0)
{
$orderquery="ORDERBYarc.iddesc";
}
else{
$orderquery="ORDERBYABS(arc.id-".$arcid.")";
}

这是likearticle标签默认的排序方式.赋予标签orderby属性那么这段代码就没意义了,把上面代码替换为:
$orderquery=;
if($orderby==hot||$orderby==click)$orderquery="orderbyarc.click$orderWay";
elseif($orderby==sortrank||$orderby==pubdate)$orderquery="orderbyarc.sortrank$orderWay";
elseif($orderby==id)$orderquery="orderbyarc.id$orderWay";
elseif($orderby==near)$orderquery="orderbyABS(arc.id–".$arcid.")";
elseif($orderby==lastpost)$orderquery="orderbyarc.lastpost$orderWay";
elseif($orderby==scores)$orderquery="orderbyarc.scores$orderWay";
elseif($orderby==rand)$orderquery="orderbyrand()";
elseif($orderby==weight)$orderquery="orderbyarc.weightasc";//如果没有特定设置排序则按照权重先排序
else$orderquery="orderbyarc.sortrank$orderWay";
这样I.来就给likearticle标签增加了完整的orderby属性.
模板还发现使用likearticle标签只能关联本栏目文档,添加typeid无效,无法进行全站关联,仔细看了下标签说明才知道,原来在likearticle标签调用栏目的参数为mytypeid而不是typeid,修改I.下这个问题就解决了.
OK了,织梦DEDECMS还是比较好用的.


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