自带完整数据 快速建站好帮手
客服QQ客服QQ 客服微信客服微信 公众号公众号

phpcmsV9全站调用多模型文章排行榜的方法

本文介绍了phpcmsV9全站调用多模型文章排行榜的方法,解决思路:打开这个文件content_tag.class.php,在里面添加教程给出的代码,然后在前端调用教程给出的代码,就可以了。非常之简单的。

phpcms全站调用排行榜的实现教程:

Phpcms v9默认调用排行榜文章的方法:

{pc:content action="hits" catid="6" num="10" order="views DESC"}

{loop $data $r}

<li><a href="{$r[url]}" target="_blank">{$r[title]}</a></li>

{/loop}

{/pc}

使用的是hits标记,而这一个方法需要指定栏目catid,根据栏目获取模型modelid,从而调用指定表的数据,于是局限了栏目模型、局限了数据表。

找到\phpcms\modules\content\classes\content_tag.class.php文件,在public function hits($data) {***}函数之后增加一个自定义函数hits_all($data):

/**

* @param $data

*/

public function hits_all($data) {

$this->hits_db = pc_base::load_model('hits_model');

$sql = $desc = $ids = '';

$array = $ids_array = array();

$order = $data['order'];

$sql = "";

if(isset($data['day'])) {

$updatetime = SYS_TIME-intval($data['day'])*86400;

$sql .= " AND updatetime>'$updatetime'";

}

$hits = array();

$ids_array = array();

$result = $this->hits_db->select($sql, '*', $data['limit'], $order);

foreach ($result as $r) {

$pos = strpos($r['hitsid'],'-',2) + 1;

$ids_array[]['id'] = $id = substr($r['hitsid'],$pos);

$temparr = explode("-",$r['hitsid']);

$ids_array[]['modelid'] = $temparr[1];

$hits[$id] = $r;

}

foreach ($ids_array as $r) {

if($r['id']) {

$sql = "status=99 AND id IN ($r[id])";

} else {

$sql = '';

}

$this->set_modelid($r['modelid']);

$result = $this->db->select($sql, '*', $data['limit'],'','','id');

if($result[$r['id']]['title']!='') {

$array[$r['id']] = $result[$r['id']];

$array[$r['id']] = array_merge($array[$r['id']], $hits[$r['id']]);

}

}

return $array;

}

以上语句函数是最近实际项目中改造而成,经过测试。

前台模板具体调用方法:

{pc:content action="hits" num="10" order="views DESC"}

{loop $data $r}

<li><a href="{$r[url]}" target="_blank">{$r[title]}</a></li>

{/loop}

{/pc}

参数只需要控制num数量就好,其他的参数order规则不变,可以调用views、yesterdayviews、dayviews、weekviews、monthviews等字段的desc、asc。

TAG标签:phpcms全站调用排行榜

上一个:phpcmsV9想要IIS下增加伪静态功能怎么配置
下一个:phpcmsV9想要调用多个栏目的文章怎么实现

织梦网站源码

咨询客服

QQ:1847629575

全年 09:00-23:00

(其他时间请留言)

在线客服

Copyright©2021 www.why114.com 瓦窑源码 版权所有 鲁ICP备20017802号

展开