叶月恋 發表於 2023-7-10 00:00:00

phpcms 调用全站任何模型数据的PC标签

<p>
首先打开</p>
<p>
\phpcms\modules\content\classes\content_tag.class.php</p>
<p>
添加如下代码</p>
<p>
 </p>
<div>

<p>
代码如下:</p>
</div>
<div id="phpcode2">
<br>
/**<br>
* 列表页标签 所有模型,<br>
* @param $data<br>
*/<br>
public function allmodel($data) {<br>
$this-&gt;model = getcache('model', 'commons');<br>
$datas=array();&lt;/p&gt; &lt;p&gt;foreach($this-&gt;model as $key =&gt; $val){<br>
$this-&gt;db-&gt;set_model($val['modelid']);<br>
if(isset($data['where'])) {<br>
$sql = $data['where'];<br>
} else {<br>
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';<br>
$sql = "status=99 ".$thumb;&lt;/p&gt; &lt;p&gt;}<br>
$order = $data['order'];&lt;/p&gt; &lt;p&gt;$return = $this-&gt;db-&gt;select($sql, '*', $data['limit'], $order, '', 'id');&lt;/p&gt; &lt;p&gt;//调用副表的数据<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])) $datas[]=$return[$k]= array_merge($v, $return[$k]);&lt;/p&gt; &lt;p&gt;}<br>
}<br>
}<br>
}<br>
};&lt;/p&gt; &lt;p&gt;return $datas;<br>
}</div>
<p>
<br><span> </span></p>
<p>
 </p>
<p>
下面是调用方法</p>
<p>
在页面上使用PC标签,完整示范如下</p>
<p>
 </p>
<div>

<p>
代码如下:</p>
</div>
<div id="phpcode3">
<br>
//参数请参考PC原有参数,记住,moreinfo 必须带上, num 数量也不是总数量,而是每个模型的调取最大值。<br>
{pc:content action="allmodel" where="$where" thumb="1" num="6" order="id DESC" moreinfo="1"}<br>
{loop $data $r}<br>
&lt;li&gt; &lt;a href=""&gt;&lt;/a&gt;&lt;/li&gt;<br>
{/loop}<br>
{/pc}</div>
頁: [1]
查看完整版本: phpcms 调用全站任何模型数据的PC标签