PHPCMS V9 subcat函数在分站调不出子栏目的解决方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-22 14:56:19 浏览: 评论:0
这是在做网站的时候遇到的一个不起眼但却很不好解决的问题,先把出问题的代码贴出来:
- {loop subcat($catid) $k $v}
- {php $subcatid[] = $k;}
- {/loop}
- {php $subcatid = implode(',', $subcatid);}
- <?php
- $sql="SELECT * from ".gettablepre()."enpicture where status=99 and catid in ($subcatid) order by id DESC";
- ?>
- {pc:get sql="$sql" page="$page" return="data"}
- {loop $data $r}
- <div class="cat_pic_bd">
- <a href="{$r[url]}"><p class="picborder2"><img src="{thumb($r[thumb],200,150)}" width="200" height="150" /></p>
- <p>{$r[title]}</p></a>
- </div>
- {/loop}
- {/pc}
这段代码的功能是把当前栏目下所有子栏目的信息调取并显示出来,但是,不管怎么调取都调取不出来.
echo var_dump(subcat($catid))返回NULL;
我拉个擦来去,郁闷了,无奈,怀疑是不是subcat()函数参数传递不对,于是打开phpcms/libs/functions/global.func.php找subcat()函数,代码如下:
- /**
- * 获取子栏目
- * @param $parentid 父级id
- * @param $type 栏目类型
- * @param $self 是否包含本身 0为不包含
- * @param $siteid 站点id
- */
- function subcat($parentid = NULL, $type = NULL,$self = '0', $siteid = '') {
- if (emptyempty($siteid)) $siteid = get_siteid();
- $category = getcache('category_content_'.$siteid,'commons');
- foreach($category as $id=>$cat) {
- if($cat['siteid'] == $siteid && ($parentid === NULL || $cat['parentid'] == $parentid) && ($type === NULL || $cat['type'] == $type)) $subcat[$id] = $cat;
- if($self == 1 && $cat['catid'] == $parentid && !$cat['child']) $subcat[$id] = $cat; //phpfensi.com
- }
- return $subcat;
- }
傻眼了,果然,参数传递不正确,没有传递栏目类型和站点id,而在开启站群功能后,分站必须要传递$siteid参数,修改后的代码如下:
- {loop subcat($catid,0,0,$siteid) $k $v}
- {php $subcatid[] = $k;}
- {/loop}
- {php $subcatid = implode(',', $subcatid);}
- <?php
- $sql="SELECT * from ".gettablepre()."enpicture where status=99 and catid in ($subcatid) order by id DESC";
- ?>
- {pc:get sql="$sql" page="$page" return="data"}
- {loop $data $r}
- <div class="cat_pic_bd">
- <a href="{$r[url]}"><p class="picborder2"><img src="{thumb($r[thumb],200,150)}" width="200" height="150" /></p>
- <p>{$r[title]}</p></a>
- </div>
- {/loop}
- {/pc}
完美解决问题.
Tags: PHPCMS分站栏目 PHPCMS不出子栏目
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)