当前位置:首页 > CMS教程 > phpcms > 正文

支持多栏目子栏目复合调用的get_sql_catid函数强化版

  1. function get_sql_catid($catid)
    ?
  2. {
    ?
  3. global $CATEGORY;
    ?
  4. if(stripos($catid,'|'))
    ?
  5. {
    ?
  6. $arrcatid = explode('|',$catid);
    ?
  7. $arrchildids = '';
    ?
  8. foreach((array)$arrcatid $k => $c)
    ?
  9. {
    ?
  10. if($c)
    ?
  11. {
    ?
  12. $arrchildids .= $CATEGORY[$c]['arrchildid'].",";
    ?
  13. }
    ?
  14. }
    ?
  15. $arrchildids = substr($arrchildids,0,-1);
    ?
  16. return " AND `catid` IN(".$arrchildids.") ";
    ?
  17. }
    ?
  18. else
    ?
  19. {
    ?
  20. $catid = intval($catid);
    ?
  21. if(!isset($CATEGORY[$catid])) return false;
    ?
  22. return $CATEGORY[$catid]['child'] ? " AND `catid` IN(".$CATEGORY[$catid]['arrchildid'].") " : " AND `catid`=$catid ";
    ?
  23. }
    ?
  24. }



函数如上,注释掉include/global.func.php 里的同名函数,替换为上面的函数.
注意问题:在中文标签的栏目设置里,正确格式为 '35|41|11'??,以单引号开头结尾,中间的栏目id以|分开,会自动取到栏目及其全部子栏目id.所以如果你要调用仅仅一个子栏目,只需要写子栏目id,不要写**栏目.
此函数和原函数并不冲突,您依然可以使用单独的 栏目id 作为栏目参数.
正确格式请看如下截图:

QQ截图未命名.jpg
上一篇:phpcms风格制作之风格修改 下一篇:phpcms伪静态正确的写法 详细教程(IIS for P