VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

phpcms相关文章排名不变怎么办?

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

phpcms相关文章排名不变怎么办?

如果phpcms排序不变怎么办?

修改phpcms相关文章排名不变问题的方法;

打开phpcms/modules/content/classes/content _ tag.class.php的内容模型标签类,发现只有在存在人为设置的相关读数时,标签才会按照顺序参数排序。而当没有人为设置相关阅读时,内容是按照关键词进行查询的,但此时并没有按照order参数进行排序。但没有分类。这就是为什么与文章调用相关的阅读总是如此古老。

纠正此问题的方法如下:修改phpcms/modules/content/classes/content_tag . class . PHP的内容模型标记类文件,并将content _ tag类中的relation方法更改为:

代码如下:

/* * *相关文章标签* @ param $ DATA */公共函数关系($ DATA){ $ catid = intval($ DATA【&;#39;catid & amp#39;]);如果(!$ this-& gt;set _ modelid($ catid))返回false$ order = $ data【& amp;#39;订单和订单。#39;];$ sql = & quot` status` = 99 & quot;$ limit = $ data【& amp;#39;id & amp#39;] ?$ data【& amp;#39;极限与极限。#39;】+1:$ data【& amp;#39;极限与极限。#39;];if($ data【& amp;#39;关系&amp。#39;】){ $ relations = explode(& amp;#39;| & amp#39;,trim($ data【& amp;#39;关系&amp。#39;】,& amp#39;| & amp#39;));$ relations = array _ diff($ relations,array(null));$relations =内爆(amp#39;,& amp#39;,$ relations);$ sql = & quot` id ` IN(relations)& quot;;$ key _ array = $ this-& gt;d B- & gt;select($ SQL,& amp#39;* & amp#39;,$limit,$ order & amp;#39;& amp#39;,& amp#39;id & amp#39;);} else if($ data【& amp;#39;关键词& amp#39;】){ $ keywords = str _ replace(& amp;#39;% & amp#39;,& amp#39;& amp#39;,$ data【& amp;#39;关键词& amp#39;]);$ keywords _ arr = explode(& amp;#39;& amp#39;,$ keywords);$ key _ array = array();$ number = 0;$ I = 1;foreach($ keywords _ arr as $ _ k){ $ SQL 2 = $ SQL。"和‘关键词‘喜欢& amp#39;% $ _ k % & amp#39;"。(isset($ data【& amp;#39;id & amp#39;】)& amp& ampintval($ data【& amp;#39;id & amp#39;]) ?"还有“身份证”!= & amp#39;"。ABS(intval($ data【& amp;#39;id & amp#39;]))."& amp#39;":& amp#39;& amp#39;);$ r = $ this-& gt;d B- & gt;select($ SQL 2 & amp;#39;* & amp#39;,$limit,$ order & amp;#39;& amp#39;,& amp#39;id & amp#39;);$ number+= count($ r);foreach($ r as $ id = & gt;$ v){ if($ I & lt;= $ data【& amp;#39;极限与极限。#39;】& amp& amp!in _ array($ id,$ key _ array)$ key _ array【$ id】= $ v;$ i++;} if($ data【& amp;#39;极限与极限。#39;]& lt;$number)突破;} } if($ data【& amp;#39;id & amp#39;】)unset($ key _ array【$ data【& amp;#39;id & amp#39;]]);返回$ key _ array}实际上,它只是$ r = $ this-》db-》select($ SQL 2,‘*‘,$ limit‘‘,‘‘‘,‘‘,‘ID‘);替换为$ r = $ this-》db-》select($ SQL 2,‘*‘,$ limit,$ order‘‘,‘id‘);让订单参数传入查询方法。在模板中,使用以下标记并添加order参数来实现排序。

代码如下:

{ PC:content action = & quot;关系& quot关系= & quot$ relation & quotid = & quot$ id & quotcatid = & quot$ catid & quotnum = & quot5 & quot关键词= & quot$rs【关键词】& quotorder = & quotid DESC}{loop $data $r}{/loop}{/pc}如果有爱整洁的朋友担心直接修改pc会影响以后的升级,可以单独提取。把它放在一个模板中并作为一个函数使用。代码如下:

代码如下:

& lt?Php/***内容模型相关文章标签(纠正异常排序问题)* @ param $ DATA */function mk1 _ Content _ tag _ relation($ DATA){ $ db = PC _ base::load _ Model(&;#39;内容模型& amp#39;);$ catid = intval($ data【& amp;#39;catid & amp#39;]);$ siteids = get cache(& amp;#39;类别_内容& amp#39;,& amp#39;康芒斯公司。#39;);如果(!$ siteids【$ catid】)返回false$ siteid = $ siteids【$ catid】;$ category = get cache(& amp;#39;类别内容。#39;。$ siteid & amp;#39;康芒斯公司。#39;);if(empty($ category))返回falseif($ category【$ catid】【& amp;#39;类型&amp。#39;]!=0)返回false$ db-& gt;set _ model($ category【$ catid】【& amp;#39;modelid & amp#39;]);$ order = $ data【& amp;#39;订单和订单。#39;];$ sql = & quot` status` = 99 & quot;$ limit = $ data【& amp;#39;id & amp#39;] ?$ data【& amp;#39;极限与极限。#39;】+1:$ data【& amp;#39;极限与极限。#39;];if($ data【& amp;#39;关系&amp。#39;】){ $ relations = explode(& amp;#39;| & amp#39;,trim($ data【& amp;#39;关系&amp。#39;】,& amp#39;| & amp#39;));$ relations = array _ diff($ relations,array(null));$relations =内爆(amp#39;,& amp#39;,$ relations);$ sql = & quot` id ` IN(relations)& quot;;$ key _ array = $ d B- & gt;select($ SQL,& amp#39;* & amp#39;,$limit,$ order & amp;#39;& amp#39;,& amp#39;id & amp#39;);} else if($ data【& amp;#39;关键词& amp#39;】){ $ keywords = str _ replace(& amp;#39;% & amp#39;,& amp#39;& amp#39;,$ data【& amp;#39;关键词& amp#39;]);$ keywords _ arr = explode(& amp;#39;& amp#39;,$ keywords);$ key _ array = array();$ number = 0;$ I = 1;foreach($ keywords _ arr as $ _ k){ $ SQL 2 = $ SQL。"和‘关键词‘喜欢& amp#39;% $ _ k % & amp#39;"。(isset($ data【& amp;#39;id & amp#39;】)& amp& ampintval($ data【& amp;#39;id & amp#39;]) ?"还有“身份证”!= & amp#39;"。ABS(intval($ data【& amp;#39;id & amp#39;]))."& amp#39;":& amp#39;& amp#39;);$ r = $ d B- & gt;select($ SQL 2 & amp;#39;* & amp#39;,$limit,$ order & amp;#39;& amp#39;,& amp#39;id & amp#39;);$ number+= count($ r);foreach($ r as $ id = & gt;$ v){ if($ I & lt;= $ data【& amp;#39;极限与极限。#39;】& amp& amp!in _ array($ id,$ key _ array)$ key _ array【$ id】= $ v;$ i++;} if($ data【& amp;#39;极限与极限。#39;]& lt;$number)突破;} } if($ data【& amp;#39;id & amp#39;】)unset($ key _ array【$ data【& amp;#39;id & amp#39;]]);返回$ key _ array}?& gt在模板中,只需使用以下PHP代码即可获得它。

代码如下:

{ PHP $ data = mk1 _ content _ tag _ relation(array(& amp;#39;关系&amp。#39;= & gt$ relation & amp;#39;id & amp#39;= & gt$ id & amp;#39;catid & amp#39;= & gt$ catid & amp;#39;关键词& amp#39;= & gt$ RS【& amp;#39;关键词& amp#39;】,& amp#39;订单和订单。#39;= & gt& amp#39;id desc & amp;#39;,& amp#39;极限与极限。#39;= & gt& amp#39;4 & amp#39;));}{loop $data $r}{/loop}其实只是一个小问题,以后PC应该会改版。以上方法提供给那些没有耐心的站长朋友。

推荐教程:PHP视频教程

这几篇文章你可能也喜欢:

  • 暂无相关推荐文章

本文由主机参考刊发,转载请注明:phpcms相关文章排名不变怎么办? https://zhujicankao.com/108368.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » phpcms相关文章排名不变怎么办?
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!