Phpcms V9 调用全站最新文章的方法

所属分类: CMS教程 / phpcms 阅读数: 1092
收藏 0 赞 0 分享
Phpcms默认不支持调用全站最新文章,需要修改文件:\phpcms\modules\content\classes\content_tag.class.php,找到以下函数:

复制代码
代码如下:

/**
* 列表页标签
* @param $data
*/
public function lists($data) {
$catid = intval($data['catid']);
if(!$this->set_modelid($catid)) return false;
if(isset($data['where'])) {
$sql = $data['where'];
} else {
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
if($this->category[$catid]['child']) {
$catids_str = $this->category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "status=99 AND catid IN ($catids_str)".$thumb;
} else {
$sql = "status=99 AND catid='$catid'".$thumb;
}
}
$order = $data['order'];
$return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');
//调用副表的数据
if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
$ids = array();
foreach ($return as $v) {
if (isset($v['id']) && !empty($v['id'])) {
$ids[] = $v['id'];
} else {
continue;
}
}
if (!empty($ids)) {
$this->db->table_name = $this->db->table_name.'_data';
$ids = implode('\',\'', $ids);
$r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');
if (!empty($r)) {
foreach ($r as $k=>$v) {
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
}
}
}
}
return $return;
}

修改为:

复制代码
代码如下:

/**
* 列表页标签
* @param $data
*/
public function lists($data) {
$catid = intval($data['catid']);
if(isset($data['where'])) {
$sql = $data['where'];
} else {
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
if(!empty($catid)) {
if(!$this->set_modelid($catid)) return false;
if($this->category[$catid]['child']) {
$catids_str = $this->category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = "status=99 AND catid IN ($catids_str)".$thumb;
} else {
$sql = "status=99 AND catid='$catid'".$thumb;
}
}
else {
$sql = "status=99".$thumb;
}
}
$order = $data['order'];
$return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');
//调用副表的数据
if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
$ids = array();
foreach ($return as $v) {
if (isset($v['id']) && !empty($v['id'])) {
$ids[] = $v['id'];
} else {
continue;
}
}
if (!empty($ids)) {
$this->db->table_name = $this->db->table_name.'_data';
$ids = implode('\',\'', $ids);
$r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');
if (!empty($r)) {
foreach ($r as $k=>$v) {
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
}
}
}
}
return $return;
}

修改代码后,即能调取全站最新文章。调用方法:

复制代码
代码如下:

{pc:content action="lists" num="10" order="id DESC" cache="3600"}
更多精彩内容其他人还在看

PHPcms建站系统-个人建站必不可少的工具

关键字描述:建站 工具 必不可少 系统 个人 网站 CMS 管理系统 站长   CMS系统已经成为个人站长建站过程中必不可少的工具,现在已经基本看不到多少站长还在靠手工写HTML页面,究其原因无非是因为CMS具有使用简单,维护方便等众多优点。   CMS的发展也带来了个
收藏 0 赞 0 分享

PHPCMS2008 MySQL Errno:1064错误

关键字描述:错误 MySQL 问题 NOT NULL 数据库 安装 unsigned tinyint PHPCMS2008安装最后一步出现MySQL Errno : 1064错误,在线等! MySQL Query : CREATE TABLE `phpcms_admi
收藏 0 赞 0 分享

PHPCMS 模板制作教程 黑夜之舞出品

读得懂这个模板教的前提是:会那么一点点HTML基础的知识。
收藏 0 赞 0 分享

火车头PHPCMS2008SP4 文章免登陆发布接口

可以达到和手工发布文章完全一样的效果,包括是否生成静态,去掉外链,下载远程图片等功能.
收藏 0 赞 0 分享

PHPcms 2008 注册选择模型关闭后,注册不能自动登录的问题

解决PHPcms 2008 sp4 注册选择模型关闭后,注册不能自动登录的问题
收藏 0 赞 0 分享

PHPCMS2008 SP4 心情排行指数不显示的解决办法

正在准备模板大赛的作品,修改这个模块的代码时,发现其指数不能正常显示,自己顺手就改一下,可能不官方,但是能用.下面直接贴代码,有需要的就拿吧.
收藏 0 赞 0 分享

Phpcms 2008 整合Ucenter的图文方法

PHPCMS与Ucenter整合 图文详解Phpcms 2008 整合 Ucenter的方法
收藏 0 赞 0 分享

phpcms+ucenter+discuz论坛整合教程

在 UCenter 系统下的各 Comsenz 产品均可以实现同步登录、同步退出,如何设置同步登录可参考教程
收藏 0 赞 0 分享

phpcms2008+ucenter1.5+discuz!7.2 ,整合后可同步登陆即出完美整合,但需要要激活

系统为windows2003 IIS6.0 整合软件PHPCMS2008, ucenter 1.5 , discuz! 7.2   [注:我用的都是utf-8的版本]
收藏 0 赞 0 分享

phpcms2008下的自定义url规则教程

刚开始使用的时候一般发现,不能很好满足我们自定义内容页的目录结构的需求,但其实phpcms是支持的,下面是具体的实现方法。
收藏 0 赞 0 分享
查看更多