phpcms二次开发:在phppcms v9 pc:content标签中加入根据类别调用信息的条件

2013-05-25 05:09 阅读 807 次 评论关闭

phppcms v9版本pc:content标签默认是没有typeid这个参数的,下面就以它为例说说如何加入条件,其他字段条件的加入方法类似
方法:
打开对应模板
在pc标签中加入typeid参数(栏目下需要根据分类调用信息就加,不需要就不用加),如下:
{pc:content action="lists" catid="17" typeid="57" order="id DESC" thumb="" moreinfo="1"  num="10" }
{/pc}

程序更改:
1、找到phpcms\modules\conetent\classes\content_tag.class.php文件中的public function lists($data) {}函数;
2、将代码

$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;
}

更改为:
$thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
$typeids = intval($data['typeid']) ? " AND typeid = '".intval($data['typeid'])."'" : '';
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)".$typeids.$thumb;
} else {
$sql = "status=99 AND catid='$catid'".$typeids.$thumb;
}

注:如果不想改动程序的话,可以直接用sql语句

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:phpcms二次开发:在phppcms v9 pc:content标签中加入根据类别调用信息的条件 | 猎微网

评论已关闭!