联华电脑影视音乐资料库 發表於 2023-7-22 00:00:00

phpcms V9修改lists标签(实现调用文章所属栏目及点击数)

<p>
实现效果步骤如下:</p>
<p>
①打开\phpcms\modules\content\classes\content_tag.class.php文件;<br>
②搜索“列表页标签”,即lists标签函数,应该在文件的56行左右,把lists标签函数的整段调用代码修改如下:</p>
<p>
 </p>
<div>

<p>
代码如下:</p>
</div>
<div id="phpcode20">
<br>
/** <br>
* 列表页标签 <br>
* @param $data <br>
*/<br>
publicfunction 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>
foreach($returnas &amp;$r){ <br>
$h_md=pc_base::load_model('hits_model'); <br>
$get_db=$h_md-&gt;get_one(array('hitsid'=&gt;"c-".$this-&gt;db-&gt;modelid."-".$r)); <br>
$r['views']=$get_db; <br>
$c_md=pc_base::load_model('category_model'); <br>
$c_data = $c_md-&gt;get_one(array('catid'=&gt;$r)); <br>
$r['catname']=$c_data; <br>
} <br>
//原文无此段落 原因:列表获得浏览次数============================================= <br>
/* 2013年4月 <br>
*使用方法 <br>
* {loop $data $r} <br>
* {$r}-{$r}-{$r} <br>
* {/loop} <br>
*/<br>
//调用副表的数据 <br>
if (isset($data['moreinfo']) &amp;&amp; intval($data['moreinfo']) == 1) { <br>
$ids = array(); <br>
foreach ($returnas$v) { <br>
if (isset($v['id']) &amp;&amp; !emptyempty($v['id'])) { <br>
$ids[] = $v['id']; <br>
} else { <br>
continue; <br>
} <br>
} <br>
if (!emptyempty($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 (!emptyempty($r)) { <br>
foreach ($ras$k=&gt;$v) { <br>
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]); <br>
} <br>
} <br>
} <br>
} <br>
return$return; <br>
} </div>
<p>
 </p>
<p>
上面的函数代码里已经标注了新添加标签的函数代码,即23行至38行;</p>
<p>
③前端页面模板调用代码的方法(示例)已经在上述函数代码里标明,我再重新说一下:</p>
<p>
 </p>
<div>

<p>
代码如下:</p>
</div>
<div id="phpcode21">
<br>
{loop $data$r}<br>
{$r}-{$r}-{$r}<br>
{/loop}</div>
頁: [1]
查看完整版本: phpcms V9修改lists标签(实现调用文章所属栏目及点击数)