当前位置:首页 > CMS教程 > phpcms > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-19 22:41:38 浏览: 评论:0 

phppcms v9版本pc:content标签默认是没有typeid这个参数的,下面就以它为例说说如何加入条件,其他字段条件的加入方法类似.

方法:打开对应模板,在pc标签中加入typeid参数,栏目下需要根据分类调用信息就加,不需要就不用加,如下:

  1. {pc:content action="lists" catid="17" typeid="57" order="id DESC" thumb="" moreinfo="1"  num="10" } 
  2. {/pc} 

程序更改:

1、找到phpcms\modules\conetent\classes\content_tag.class.php文件中的public function lists($data) {}函数;

2、将代码

  1. $thumb = intval($data['thumb']) ? " AND thumb != ''" : ''
  2. if($this->category[$catid]['child']) { 
  3. $catids_str = $this->category[$catid]['arrchildid']; 
  4. $pos = strpos($catids_str,',')+1; 
  5. $catids_str = substr($catids_str$pos); 
  6. $sql = "status=99 AND catid IN ($catids_str)".$thumb
  7. else { 
  8. $sql = "status=99 AND catid='$catid'".$thumb
  9. //更改为: 
  10. $thumb = intval($data['thumb']) ? " AND thumb != ''" : ''
  11. $typeids = intval($data['typeid']) ? " AND typeid = '".intval($data['typeid'])."'" : '';  //phpfensi.com 
  12. if($this->category[$catid]['child']) { 
  13. $catids_str = $this->category[$catid]['arrchildid']; 
  14. $pos = strpos($catids_str,',')+1; 
  15. $catids_str = substr($catids_str$pos); 
  16. $sql = "status=99 AND catid IN ($catids_str)".$typeids.$thumb
  17. else { 
  18. $sql = "status=99 AND catid='$catid'".$typeids.$thumb

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

Tags: phppcms条件标签 pc:content标签

分享到: