在这篇文章中,我们将为您详细介绍DedeCMS标签likearticle调用全站相关新闻支持排序的内容。此外,我们还会涉及一些关于Dede5.6/5.7调用全站相关新闻的办法、dedecmslikea
在这篇文章中,我们将为您详细介绍DedeCMS标签likearticle调用全站相关新闻支持排序的内容。此外,我们还会涉及一些关于Dede5.6/5.7调用全站相关新闻的办法、dedecms likearticle 怎么增加 addfields、dedecms likearticle 效率问题、DedeCMS 显示全站相关新闻的修改办法的知识,以帮助您更全面地了解这个主题。
本文目录一览:- DedeCMS标签likearticle调用全站相关新闻支持排序
- Dede5.6/5.7调用全站相关新闻的办法
- dedecms likearticle 怎么增加 addfields
- dedecms likearticle 效率问题
- DedeCMS 显示全站相关新闻的修改办法
DedeCMS标签likearticle调用全站相关新闻支持排序
DedeCMS一个网站优化优化重要标签likearticle,根据标题、关键词调用本栏目下的相似新闻。这意味着为某新闻增加了许多带“长尾Keywords”的新闻,内容相关度增强,为网站增加PV。缺点是不能调用全站相似新闻,不支持order by排序属性,做如下修改:
likearticle全站调用相似新闻打开/include/taglib/likearticle.lib.php,找到
$typeid = " And arc.typeid in($typeid) And arc.id<>$arcid ";修改为
$typeid = " And arc.id<>$arcid ";likearticle支持order by排序
继续找到
extract($ctag->CAttribute->Items, EXTR_SKIP); $revalue = ";下面添加
$orderby=$ctag->GetAtt('orderby');找到
if( empty($arcid) || $byabs==0 ) { $orderquery = " order by arc.id desc "; } else { $orderquery = " order by ABS(arc.id – ".$arcid.") "; }修改为
$orderquery = "; if($orderby=='hot' || $orderby=='click') $orderquery = " order by arc.click $orderWay"; else if($orderby == 'sortrank' || $orderby=='pubdate') $orderquery = " order by arc.sortrank $orderWay"; else if($orderby == 'id') $orderquery = " order by arc.id $orderWay"; else if($orderby == 'near') $orderquery = " order by ABS(arc.id – ".$arcid.")"; else if($orderby == 'lastpost') $orderquery = " order by arc.lastpost $orderWay"; else if($orderby == 'scores') $orderquery = " order by arc.scores $orderWay"; else if($orderby == 'rand') $orderquery = " order by rand()"; else if($orderby == 'weight') $orderquery = " order by arc.weight asc";//如果没有特定设置排序则按照权重先排序 else $orderquery = " order by arc.sortrank $orderWay";本文章网址:http://www.ppssdd.com/code/14871.html。转载请保留出处,谢谢合作!
Dede5.6/5.7调用全站相关新闻的办法
Dede5.6/5.7调用相关新闻默认只是调用当前分类的相关新闻,那么如何调用全站相关新闻呢?下面,跟版网为大家分享Dede5.6/5.7调用全站相关新闻的办法。
源码调用代码:
<div>
<dl>
<dt><strong>相关新闻</strong></dt>
<dd>
<ul>
{dede:likearticle col='2' row='10' titlelen='42'}
<li><a href=http://www.dede58.com/a/dedejq/"[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}
</ul>
</dd>
</dl>
</div>
修改核心文件:
找到文件:\include\taglib\likearticle.lib.php
找到代码:$typeid = " And arc.typeid in($typeid) And arc.id<>$arcid ";
修改为:$typeid = " And arc.id<>$arcid ";
保存后,再更新文档就可以了。
dedecms likearticle 怎么增加 addfields
OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代
DedeCMS 的 likearticle.lib.php 文件并且添加了 addfields
源码如下 //获取附加表信息 $addfield = trim($ctag->GetAtt(''addfields'')); $addfieldsSql = ''''; $addfieldsSqlJoin = ''''; if($addfield != '''' && !empty($channelid)) { $row = $dsql->GetOne("SELECT addtable FROM `#@__channeltype` WHERE id=''$channelid'' "); if(isset($row[''addtable'']) && trim($row[''addtable'']) != '''') { $addtable = trim($row[''addtable'']); $addfields = explode('','', $addfield); $row[''addtable''] = trim($row[''addtable'']); $addfieldsSql = ",addf.".join('',addf.'', $addfields); $addfieldsSqlJoin = " LEFT JOIN `$addtable` addf ON addf.aid = arc.id "; } } 请问还需修改什么吗
dedecms likearticle 效率问题
OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代
在使用 dedecms 发布文章 站内文章到达近 30w 的时候出现问题,发布新闻后有个相关新闻的需求,需要用到 likearticle 标签,仔细看了一下 dedecms 的 taglib 发现时这么调取的
if(!empty($refObj->Fields[''keywords''])) { $keywords = explode('','' , trim($refObj->Fields[''keywords''])); $keyword = ''''; $n = 1; foreach($keywords as $k) { if($n > 3) break; if(trim($k)=='''') continue; else $k = addslashes($k); $keyword .= ($keyword=='''' ? " CONCAT(arc.keywords,'' '',arc.title) LIKE ''%$k%'' " : " OR CONCAT(arc.keywords,'' '',arc.title) LIKE ''%$k%'' "); $n++; } }
也就是如果我设置了 a,b,c 3 个关键词为文档关键词,最后生成的 sql 语句片段为
and ( CONCAT(arc.keywords,'' '',arc.title) like ''%a%'' OR CONCAT(arc.keywords,'' '',arc.title) like ''%b%'' OR CONCAT(arc.keywords,'' '',arc.title) like ''%c%'' )
不知哪位大侠使用过有优化的经验
DedeCMS 显示全站相关新闻的修改办法
源码调用代码:
<div>
<dl>
<dt><strong>相关新闻</strong></dt>
<dd>
<ul>
{dede:likearticle col='2' row='10' titlelen='42'}
<li><a href=http://www.dede58.com/a/dedejq/"[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}
</ul>
</dd>
</dl>
</div>
下面是修改办法:
找到文件:\include\taglib\likearticle.lib.php
找到代码:
$typeid = " And arc.typeid in($typeid) And arc.id<>$arcid ";
修改为:
$typeid = " And arc.id<>$arcid ";
保存,再更新至服务器就搞定了。
本文章网址:http://www.ppssdd.com/code/4367.html。转载请保留出处,谢谢合作!关于DedeCMS标签likearticle调用全站相关新闻支持排序的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Dede5.6/5.7调用全站相关新闻的办法、dedecms likearticle 怎么增加 addfields、dedecms likearticle 效率问题、DedeCMS 显示全站相关新闻的修改办法的相关知识,请在本站寻找。
本文标签: