Home > CMS Tutorial > PHPCMS > How to retrieve recently updated articles in phpcms

How to retrieve recently updated articles in phpcms

藏色散人
Release: 2020-05-30 17:43:51
Original
3336 people have browsed it

How to retrieve recently updated articles in phpcms

phpcmsHow to retrieve the recently updated articles?

phpcms v9 calls the latest articles of the entire site (all contents have been updated recently)

The first step is to modify phpcms\modules\content\classes content_tag.class.php Add

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 = &#39;&#39;;
if(is_array($r[&#39;data&#39;]))
foreach($r[&#39;data&#39;] as $r_t){
$datas[] = $r_t;
if(++$r_n == $num)break;
}
}
return $datas;
}else{
return false;
}
}
Copy after login

to the last }. Step 2: Template call

In fact, it is almost the same as the default article list call

{pc:content action="newcontent" }
Copy after login

Parameter description:

catid: optional. If added, only the information of the specified column will be called. For multiple columns, please use English half-width, spaced

order: Sorting parameter value: 1-7 The specific meaning is easy to understand in the code.

num: Number of calls No Specify 20 calls by default

The above is the detailed content of How to retrieve recently updated articles in phpcms. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template