优选主流主机商
任何主机均需规范使用

如何在PHPCMS中高效调用全站最新文章列表

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’]) && !emptyempty($v[‘id’])) {

$ids[] = $v[‘id’];

} else {

continue;

}

}

if (!emptyempty($ids)) {

$this->db->table_name = $this->db->table_name.’_data’;

$ids = implode(‘\’,\”, $ids);

$r = $this->db->select(“`id` IN (‘$ids’)”, ‘*’, ”, ”, ”, ‘id’);

if (!emptyempty($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(!emptyempty($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’]) && !emptyempty($v[‘id’])) {

$ids[] = $v[‘id’];

} else {

continue;

}

}

if (!emptyempty($ids)) {

$this->db->table_name = $this->db->table_name.’_data’;

$ids = implode(‘\’,\”, $ids);

$r = $this->db->select(“`id` IN (‘$ids’)”, ‘*’, ”, ”, ”, ‘id’);

if (!emptyempty($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中高效调用全站最新文章列表