ホームページ >CMS チュートリアル >PHPCMS >phpcms で最近更新された記事を取得する方法

phpcms で最近更新された記事を取得する方法

藏色散人
藏色散人オリジナル
2020-05-30 17:43:513348ブラウズ

phpcms で最近更新された記事を取得する方法

#phpcms最近更新された記事を取得するにはどうすればよいですか?

phpcms v9 はサイト全体の最新記事を呼び出します (すべてのコンテンツは最近更新されました)

最初のステップは、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(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;
}
}

を追加します ステップ 2: テンプレート呼び出し

実際には、デフォルトの記事リストとほぼ同じですcall

{pc:content action="newcontent" }

パラメータの説明:

catid: オプション。追加すると、指定された列の情報のみが表示されます。複数の列の場合は英語の半角スペースを使用してください

order: 並べ替えパラメータの値: 1-7 具体的な意味はコードで理解するのが簡単です。

num: コール数 いいえ デフォルトで 20 コールを指定します

以上がphpcms で最近更新された記事を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。