可以调用全站或指定栏目最新文章的标签

发表于2011-11-03 10:28:05来源于PHPCMS官方论坛

次点击[] [] [] [打印] [关闭窗口] [评论]

欢迎大家加入创想工作室QQ群 网络瘫痪上不了网?电脑出故障?找破解软件?加入创想工作室QQ群,向大神求助,一步解决问题!QQ群号码:326338868[点此获取更多QQ群]

第一步 修改 phpcmsmodulescontentclasses 目录下的 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(empty($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;

}

}

return $datas;

}else{

return false;

}

}

 

第二步:模板调用  
其实就和默认的文章列表调用差不多

{pc:content action="newcontent" }

参数说明:
catid: 可有可无  加了就只调用指定栏目的信息  多个栏目请使用英文半角的 ,间隔

order:排序 参数值:1-7  具体的含义在代码里面很容易看明白 不祥述

num:调用数量  不指定默认调用20条


最后提醒一下使用UTF编码的童鞋  编辑文件的时候勿用记事本 否则会乱码。

文章来源:http://bbs.phpcms.cn/thread-311618-1-1.html

 

相关热词搜索:最新文章标签PHPCMS

© copyright 2002-2024, 22BA.COM All Rights Reserved

网站备案号:粤ICP备19114910号

ChuangXiang Design Studio - WebDesign & Internet Marketing

关于我们业务范围联系我们开心一刻网站地图

QQ群一:326338868QQ群二:78712271

QQ群三:193078177

邮箱:news@22ba.com

地址:深圳市福田区金田路现代国际大厦2606