欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

phpcms教程

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

phpcms教程 我的站长站 2019-03-18 共281人阅读

这是本次改版的需要,网上虽然有这个教程,但我写文章的目的在于再次有这个需求时不用去找自己的源码复制或去百度找教程,而是直接看自己写的文章。
方法如下:
打开/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教程 281 5年前
  • PHPCMS频道页与列表页如何关联

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

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

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

    phpcms教程 641 8年前
  • PHPCMS V9站点管理实现站群功能

    站群功用是门户级的网站才具备的功用,但很多时分即使是企业站,为了全方位的宣扬,也需求多个二级域名构成的站群,怎样破?另外,站群也是SEO中对比常用的手法。站群功用是PHPCMS V9的一大特征,如今,咱们能够利用PHPCMS V9零门槛的运用站群的功用。通过PHPCMS V9...

    phpcms教程 1048 8年前
  • PHPCMS栏目页如何绑定二级域名?

    到目前为止,PHPCMS最新的版本是V9版本,因此本文所讲解的关于绑定二级域名的问题是针对PHPCMS V9的。网站中栏目内容和主站相关度不高,需要独立访问时,可考虑将该栏目设置成二级域名访问,在这点上PHPCMS V9已经做了处理。不熟悉的PHPCMS的人,在栏目设置的地...

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

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

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

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

    帝国cms教程 220 5年前
  • 帝国cms投票系统使用

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

    帝国cms教程 174 5年前
  • 帝国CMS系统扩展变量使用方法

    通过自定义扩展变量功能,用户可以自定义公共的程序使用变量,为用户扩展系统带来便利。比如可以增加像系统$public_r[newsurl]这样的变量,还比如扩展了某个系统模型,需要增加设置项都可以用扩展变量来实现...等等。 一、登录后台,单击“系统”菜单,选择...

    帝国cms教程 190 5年前
  • 码支付使用教程(图文)
    码支付使用教程(图文)

    码支付是什么?码支付官方码支付是一款第四方支付接口,支持支付宝、微信、财付通支付接口,支付宝 QQ全免 微信免手续费。即时到账,到账模式分软件挂机实时到账或云端转账,接口对接灵活简单。码支付使用...

    经验分享 5275 5年前