phpcms V9 全站文章点击排行榜标签

phpcms V9 全站文章点击排行榜标签,第1张

phpcmsV9全站文章点击排行榜标签

我们在做内容站的时候,经常要应用到文章列表中,但是phpcms默认设置的pc调用ID必须是实际的频道ID。那么如何调用全站的文章列表呢?

我们在做内容站的时候,经常要用到文章列表,但是phpcms默认设置的pc调用ID必须是实际的频道ID,那么如何调用站内所有文章的点击列表呢?官方网络不给路,大家只能自己创造自己的路。流程如下:
①打开\phpcms\modules\content\classes\content_tag.class.php文件;
②找到一部分,添加如下代码(首行时间可随意更改,方便中后期查看):

复制代码如下:
/**2013年4月23日
*sitehits站点点击排名
*@param$data
*/

$siteid=intval($data['siteid']);
$this->;hits_db=PC_base::load_model('hits_model');
$category_content=getcache('category_content','commons');
$catid='';
//获取网站
foreach($category_contentas$key=>)下的所有渠道id;$val){
if($val==$siteid){
$catid。=$逗号。$key
$comma=',';
}
}
/获取点击排名
$r=$this-->;hits_db->;选择('catidin('。$catid。)'、'hitsid'、$data['limit']、$data['order']);
$return=array();
$sitemodel_model_db=PC_base::load_model('sitemodel_model');
$this->;db_config=PC_base::load_config('database');
$tablepre=$this->;db_config['default']['tablepre'];
foreach($ras$key){
preg_match_all('/-(\d)-/',$key['hitsid'],$modelid);
$id=substr($key['hitsid'],(strpos($key['hitsid'],'-',2)1));
$tablename=$sitemodel_model_db->;get_one(array('modelid'=>;$modelid[1][0]),“tablename”);
$this->;dB->;table_name=$tablepre。$tablename['tablename'];
$return[]=array_merge($return,$this->;dB->;get_one(array('id'=>;$id)));
}
return$return;
}

③备份数据,防止中后期升级时pc程序进程被覆盖;

④前端开发页面设计的调用方式(举例):


复制代码编码如下:
{PC:contentaction="sitehits"siteid="4"num="10"order="viewsdec"cache="3600"}{loop$data$r}
"{${$r[title]}
{/loop}
{/PC}

文章结束。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/773011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存