phpcms v9调用全站最新文章功能代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-20 23:20:50 浏览: 评论:0
第一步:修改 phpcms\modules\content\classes content_tag.class.php 在最后面的 } 上面添加如下代码:
- public function newcontent($data){
- $num = intval($data['limit']) ? intval($data['limit']) : '20';
- // 设置排序
- switch($data['order']){
- case '1':
- $order = ' `id` ASC ';
- break;
- case '2':
- $order = ' `id` DESC ';
- break;
- case '3':
- $order = ' `inputtime` ASC ';
- break;
- case '4':
- $order = ' `inputtime` DESC ';
- break;
- case '5':
- $order = ' `updatetime` ASC ';
- break;
- case '6':
- $order = ' `updatetime` DESC ';
- break;
- default:
- $order = ' `id` DESC ';
- }
- if($data['catid']){
- $catids = explode(',', $data['catid']);
- foreach($catids as $catid){
- $catid = intval($catid);
- if(emptyempty($catid))continue;
- $this->set_modelid($catid);
- $where = $this->category[$catid]['child'] ? ' `catid` IN ('.$this->category[$catid]['arrchildid'].')' : " `catid` = $catid";
- $datas = $this->db->select($where, '*', $num, $order);
- $data[$catid]['data'] = $datas;
- // 记录本次的文章数
- $data['num'][] = count($datas);
- $model_num++;
- }
- }else{
- $models = getcache('model', 'commons');
- foreach($models as $model){
- $this->db->set_model($model['modelid']);
- $datas = $this->db->select('', '*', $num, $order);
- $data[$model['modelid']]['data'] = $datas;
- // 记录本次的文章数
- $data['num'][] = count($datas);
- $model_num++;
- }
- }
- if($data){
- // 获取每个模型应该截取的条数
- $num = ceil($num/$model_num);
- // 循环条数记录用于找出条数不满足的数量然后进行平均
- $w_num = $w_num_t = '';
- foreach($data['num'] as $num_t){
- if($num_t < $num){
- $w_num += $num-$num_t;
- $w_num_t++;
- }
- }
- // 判断是否有不满足平均数的 如果有那么就增加平均值
- if($w_num_t){
- $num += ceil($w_num/($model_num-$w_num_t));
- }
- $datas = array();
- foreach($data as $r){
- $r_n = '';
- if(is_array($r['data']))
- foreach($r['data'] as $r_t){
- $datas[] = $r_t;
- if(++$r_n == $num)break;
- } //phpfensi.com
- }
- return $datas;
- }else{
- return false;
- }
- }
第二步:模板调用
其实就和默认的文章列表调用差不多:
{pc:content action="newcontent" }
参数说明:
catid:可有可无,加了就只调用指定栏目的信息,多个栏目请使用英文半角的,间隔.
order:排序 参数值:1-7 具体的含义在代码里面很容易看明白,不祥述.
num:调用数量,不指定默认调用20条.
Tags: phpcms最新文章 phpcms全站文章
相关文章
- ·PHPCMS中最新文章标题后显示NEW或时间为红色的修改方法(2014-10-18)
- ·phpcms v9怎么调用网站最新文章(2014-10-19)
- ·Phpcms V9 调用全站最新文章的代码(2014-10-19)
- ·phpcms v9全站最新文章调用几个方法(2014-11-27)
- ·Phpcms V9 调用全站文章排行的解决方案(2014-10-19)
- ·【phpcms-v9】如何通过{pc}标签获取全站文章内容?(2014-10-23)
- ·【phpcms-v9】phpcms-v9中get标签调用全站文章内容(2014-10-24)
- ·PHPCMS全站文章点击排行2个例子(2014-12-05)
- ·Phpcms v9调用全站文章排序榜实现方法(2015-03-24)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)