phpcms教程

使用phpcms调用全站最新文章方法

我的站长站 2019-03-18 人阅读

这是本次改版的需要,网上虽然有这个教程,但我写文章的目的在于再次有这个需求时不用去找自己的源码复制或去百度找教程,而是直接看自己写的文章。
方法如下:
打开/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">(浏览&nbsp;:&nbsp;{$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">(浏览&nbsp;:&nbsp;{$views})</span></h2> 
<p class="description">{str_cut($v[description],500)}</p> 
</li> 
{/loop} 
</ul> 
{/pc}

大家可参考调用。


相关推荐
  • PHPCMS使用教程
  • 使用教程
  • 使用phpcms调用全站最新文章方法

    这是本次改版的需要,网上虽然有这个教程,但我写文章的目的在于再次有这个需求时不用去找自己的源码复制或去百度找教程,而是直接看自己写的文章。方法如下:打开/phpcms/modules/content/classes/content_tag.class.php在最后一个“}”之前粘贴如下代码:pu...

    phpcms教程 259 5年前
  • PHPCMS频道页与列表页如何关联

    网站最主要的三个页面是什么?首页、频道页、列表页。 假设一个节目下面还有其子节目,那他即是一个频道,对应的模板也是频道页,是其子节目内容的集合体。 关于大多数网站来说是没有频道页的,由于节目较少,内容也不多,即使有子节目,频道页不会有独自的模板,直接...

    phpcms教程 352 7年前
  • PHPCMS后台功能内容管理详解

    内容办理是CMS网站内容办理体系的中心,PHPCMS也是如此。PHPCMS的内容办理大约能够如下归类内容发布办理内容发布办理是办理网站内容的首要场合,触及内容办理、碎片办理、附件办理、专题办理、收集办理、谈论办理等。发布办理发布办理是内容发布后的网...

    phpcms教程 626 7年前
  • 帝国CMS二次开发压缩与解压缩功能使用教程

    在使用帝国CMS建站,用到压缩与解压缩功能的很少,所以很少相关的文章。使用这些功能的基本是一些网页展示下载站一样。在帝国CMS系统文件中,e/class/phpzip.inc.php是专门处理文件压缩功能的,阅读代码你会发现,它没有解压缩功能。网站有个模板版块提供各...

    帝国cms教程 151 5年前
  • 帝国CMS7.5使用TAGSID做伪静态简单调用方法

    看到官网介绍了,帝国CMS7.5可以使用TAGS ID做伪静态,但是找了好多办法用了都不好用,要么是太复杂,要么改了没有反应,今天试了一天时间,终于找到简单的解决办法了后台设置(就是默认的设置,点一下默认就可以)首页或者其它页面调用[showtags]&#39;&#39;,20,0,&#3...

    帝国cms教程 212 4年前
  • 帝国cms投票系统使用

    投票系统网站的投票管理一、投票系统说明前台投票调用方式:同时支持标签调用和JS调用标签调用投票:用投票调用标签([phomevote]投票ID[/phomevote])JS调用投票:<script src="投票JS文件地址"></script>,比如:<script src="http://127.0.0.1/d/js/vote/vote1...

    帝国cms教程 151 4年前
最新更新
  • phpcms SEO优化自定义HTML文件名教程

    自定义生成HTML文件名对于SEO优化非常有好处,不过phpcms V9版本没有这个功能,但是可以修改,下面是方法。1、修...

    phpcms教程 2年前
  • phpcms多选字段使用方法

    phpcms v9拥有强大的字段功能,后台模型内容可以任由自己改,是目前最好的二次开发的开源cms。今天我的站长站就...

    phpcms教程 3年前
  • phpcms修改标题长度方法

    phpcms默认文章标题最长为80个字符,往往我们在添加文章的时候,可能会超过这个限制,会导致标题显示不完整。phpc...

    phpcms教程 3年前
  • PHPCMS v9安全设置教程

    一、目录权限设置很重要:可以有效防范黑客上传木马文件.如果通过 chmod 644 * -R 的话,php文件就没有权限访问...

    phpcms教程 3年前
  • PHPCMS V9结构说明

    PHPCMS V9 结构目录说明|–api 结构文件目录|–caches 缓存文件目录|– configs 系统配置文件目录|– cach...

    phpcms教程 3年前