夏风秋云 發表於 2023-8-9 00:00:00

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

<p>
<span>Phpcms默认不支持调用全站最新文章,需要修改文件:\phpcms\modules\content\classes\content_tag.class.php,找到以下函数: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
/** <br>
* 列表页标签 <br>
* @param $data <br>
*/ <br>
public function lists($data) { <br>
$catid = intval($data['catid']); <br>
if(!$this-&gt;set_modelid($catid)) return false; <br>
if(isset($data['where'])) { <br>
$sql = $data['where']; <br>
} else { <br>
$thumb = intval($data['thumb']) ? " AND thumb != ''" : ''; <br>
if($this-&gt;category[$catid]['child']) { <br>
$catids_str = $this-&gt;category[$catid]['arrchildid']; <br>
$pos = strpos($catids_str,',')+1; <br>
$catids_str = substr($catids_str, $pos); <br>
$sql = "status=99 AND catid IN ($catids_str)".$thumb; <br>
} else { <br>
$sql = "status=99 AND catid='$catid'".$thumb; <br>
} <br>
} <br>
$order = $data['order']; <br>
$return = $this-&gt;db-&gt;select($sql, '*', $data['limit'], $order, '', 'id'); <br>
//调用副表的数据 <br>
if (isset($data['moreinfo']) &amp;&amp; intval($data['moreinfo']) == 1) { <br>
$ids = array(); <br>
foreach ($return as $v) { <br>
if (isset($v['id']) &amp;&amp; !empty($v['id'])) { <br>
$ids[] = $v['id']; <br>
} else { <br>
continue; <br>
} <br>
} <br>
if (!empty($ids)) { <br>
$this-&gt;db-&gt;table_name = $this-&gt;db-&gt;table_name.'_data'; <br>
$ids = implode('\',\'', $ids); <br>
$r = $this-&gt;db-&gt;select("`id` IN ('$ids')", '*', '', '', '', 'id'); <br>
if (!empty($r)) { <br>
foreach ($r as $k=&gt;$v) { <br>
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]); <br>
} <br>
} <br>
} <br>
} <br>
return $return; <br>
} </p>
<p>
<br><span>修改为: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
/** <br>
* 列表页标签 <br>
* @param $data <br>
*/ <br>
public function lists($data) { <br>
$catid = intval($data['catid']); <br>
if(isset($data['where'])) { <br>
$sql = $data['where']; <br>
} else { <br>
$thumb = intval($data['thumb']) ? " AND thumb != ''" : ''; <br>
if(!empty($catid)) { <br>
if(!$this-&gt;set_modelid($catid)) return false; <br>
if($this-&gt;category[$catid]['child']) { <br>
$catids_str = $this-&gt;category[$catid]['arrchildid']; <br>
$pos = strpos($catids_str,',')+1; <br>
$catids_str = substr($catids_str, $pos); <br>
$sql = "status=99 AND catid IN ($catids_str)".$thumb; <br>
} else { <br>
$sql = "status=99 AND catid='$catid'".$thumb; <br>
} <br>
} <br>
else { <br>
$sql = "status=99".$thumb; <br>
} <br>
} <br>
$order = $data['order']; <br>
$return = $this-&gt;db-&gt;select($sql, '*', $data['limit'], $order, '', 'id'); <br>
//调用副表的数据 <br>
if (isset($data['moreinfo']) &amp;&amp; intval($data['moreinfo']) == 1) { <br>
$ids = array(); <br>
foreach ($return as $v) { <br>
if (isset($v['id']) &amp;&amp; !empty($v['id'])) { <br>
$ids[] = $v['id']; <br>
} else { <br>
continue; <br>
} <br>
} <br>
if (!empty($ids)) { <br>
$this-&gt;db-&gt;table_name = $this-&gt;db-&gt;table_name.'_data'; <br>
$ids = implode('\',\'', $ids); <br>
$r = $this-&gt;db-&gt;select("`id` IN ('$ids')", '*', '', '', '', 'id'); <br>
if (!empty($r)) { <br>
foreach ($r as $k=&gt;$v) { <br>
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]); <br>
} <br>
} <br>
} <br>
} <br>
return $return; <br>
} </p>
<p>
<br><span>修改代码后,即能调取全站最新文章。调用方法: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{pc:content action="lists" num="10" order="id DESC" cache="3600"} </p>
頁: [1]
查看完整版本: Phpcms V9 调用全站最新文章的方法