phpcms全站最新文章调用方法
发布时间:2018-08-02 23:48:14作者:魏义齐阅读:()评论:
这是本次改版的需要,网上虽然有这个教程,但我写文章的目的在于再次有这个需求时不用去找自己的源码复制或去百度找教程,而是直接看自己写的文章。
方法如下:
打开/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;
- }
- }
- return $datas;
- }else{
- return false;
- }
- }
下面是我首页“今日更新”模块调用全站最新文章的代码(我还调用了点击量)
{pc:content action="newcontent" num="1"}
{php $categorys = getcache('category_content_'.$siteid,'commons');}
<ul>
{loop $data $v}
{php $category = $categorys[$v[catid]];}
{php $modelid = $category['modelid'];}
{php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$v[id])); $views = $_r[views]; }
{php $comment_tag = pc_base::load_app_class("comment_tag", "comment"); $comment_total = $comment_tag->count(array('commentid'=>'content_'.$v[catid].'-'.$v[id].'-'.$modelid));}
<li>
<h2><span class="todayupdate">今日更新</span><a href="{$v['url']}" target=_blank>{str_cut($v[title],200,”)}</a><span class="ydcs">(浏览 : {$views})</span></h2>
<p class="description">{str_cut($v[description],500)}</p>
</li>
{/loop}
</ul>
{/pc}
如果你不想调用点击量,那么代码如下:
{pc:content action="newcontent" num="1"}
<ul>
{loop $data $v}
<li>
<h2><span class="todayupdate">今日更新</span><a href="{$v['url']}" target=_blank>{str_cut($v[title],200,”)}</a><span class="ydcs">(浏览 : {$views})</span></h2>
<p class="description">{str_cut($v[description],500)}</p>
</li>
{/loop}
</ul>
{/pc}
大家可参考调用。
上一篇:phpcms代码高亮显示最新解决方案下一篇:phpcms如何将已删除的内容http状态码设置为404
收起二维码
原创不易,您的赞助就是博主更新的动力!

赞助请备注,8.88元及以上可在赞助光荣榜留下外链信息。
完全自托管的评论系统
最新会员
-
东方星雨
-
deanhan
-
1264822519
-
aini3311
-
a1051020101
-
weiyiqi
- phpcms如何实现全站搜索功能(2023)
- phpcms标签大全(最新整理)(1011)
- phpcms如何将访问提示“您要查看的信息不存在或者还未通过审批!”的动态页面设置为伪404(953)
- phpcms如何支持https(945)
- phpcms如何修改后台登录界面(910)
- phpcms文章内容页的图片如何自适应(863)
- phpcms表单向导使用教程(849)
- phpcms列表页如何批量调用文章页内容(827)
- phpcms如何修改分页的样式(776)
- phpcms如何将文章编辑器的超链接目标窗口改为默认新窗口(761)
- phpcms最新懒人站长版(支持https、支持php7)(2019-10-19)
- phpcms修改后台登录函数详细步骤(2019-03-29)
- 深究phpcms缩略图模糊问题(2018-12-24)
- phpcms表单向导使用教程(2018-12-17)
- phpcms标签大全(最新整理)(2018-12-11)