返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
PHPCMS当前位置:首页 > cms教程 > 综合cms > PHPCMS > 正文

解决lists标签中,加上where后其他条件失效的问题

发布时间:2016-04-19 17:30:40   来源:   点击:
问题描述:
{pc:content action="lists" catid="$catid" where="posids`!='0'" thumb="1" num="10"}
发现不是调用当前栏目而是全部栏目的,并且不管有没有缩略图都显示出来,在PHPCMS官方论坛搜索了一下,发现这个问题存在很久了。今天我们说一下怎么修复吧!

打开/phpcms/modules/content/classes/目录下的content_tag.class.php这个文件,把下面的代码(大概第63行)

  1. f(isset($data['where'])) { 
  2. $sql = $data['where']; 
  3. else { 
  4. $thumb = intval($data['thumb']) ? " AND thumb != ''" : ''
  5. if($this->category[$catid]['child']) { 
  6. $catids_str = $this->category[$catid]['arrchildid']; 
  7. $pos = strpos($catids_str,',')+1; 
  8. $catids_str = substr($catids_str, $pos); 
  9. $sql = "status=99 AND catid IN ($catids_str)".$thumb; 
  10. else { 
  11. $sql = "status=99 AND catid='$catid'".$thumb; 

替换为下面的代码即可。


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





相关栏目
热门文章
最新图文
评论排行
版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814