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

技术教程 2026-01-09 16:10:55 浏览

首先打开

\phpcms\Modules\Content\classes\content_tag.class.php

添加如下代码

代码如下:

/*** 列表页标签 所有模型,* @param $data*/public Function allmodel($data) {$this->model = getcache('model', 'commons');$datas=array();

foreach($this->model as $key => $val){$this->db->set_model($val['modelid']);if(isset($data['where'])) {$sql = $data['where'];} else {$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';$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])) $datas[]=$return[$k]= array_merge($v, $return[$k]);

}}}}};

return $datas;} 任何模型数据

下面是调用方法

在页面上使用PC标签,完整示范如下

代码如下:

//参数请参考PC原有参数,记住,moreinfo 必须带上, num 数量也不是总数量,而是每个模型的调取最大值。{pc:content action="allmodel" where="$where" thumb="1" num="6" order="id DESC" moreinfo="1"}{loop $data $r}
  • {/loop}{/pc}
    本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

    发表评论

    热门推荐