GVKun编程网logo

DedeCMS标签likearticle调用全站相关新闻支持排序

4

在这篇文章中,我们将为您详细介绍DedeCMS标签likearticle调用全站相关新闻支持排序的内容。此外,我们还会涉及一些关于Dede5.6/5.7调用全站相关新闻的办法、dedecmslikea

在这篇文章中,我们将为您详细介绍DedeCMS标签likearticle调用全站相关新闻支持排序的内容。此外,我们还会涉及一些关于Dede5.6/5.7调用全站相关新闻的办法、dedecms likearticle 怎么增加 addfields、dedecms likearticle 效率问题、DedeCMS 显示全站相关新闻的修改办法的知识,以帮助您更全面地了解这个主题。

本文目录一览:

DedeCMS标签likearticle调用全站相关新闻支持排序

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调用相关新闻默认只是调用当前分类的相关新闻,那么如何调用全站相关新闻呢?下面,跟版网为大家分享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 ";
保存后,再更新文档就可以了。

本文章网址:http://www.ppssdd.com/code/26935.html。转载请保留出处,谢谢合作!

dedecms likearticle 怎么增加 addfields

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 效率问题

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 显示全站相关新闻的修改办法

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 显示全站相关新闻的修改办法的相关知识,请在本站寻找。

本文标签: