by 清泉
10. 十二月 2009 08:37
看标题有点迷惑吧.我来解释一下,有人可能有这样的需求,
PHPCMS中一般需要显示某个栏目下有多少文章,这时候只要在栏目标签里加一个变量 {$items} 就可以了.但是,如果有父栏目的话,就不行了.子栏目是可以正常显示的.为什么呢?
原来, {$items} 是保存到 $CATEGORY 二维数组的,因为父栏目不保存文章,而是子栏目保存文章,所以,父栏目的 $CATEGORY数组里的 {$items} 是空的.调用不出来.而子栏目保存文章了,所以他的 {$items} 是有值的.可以取到.
粗体是父栏目,下面的是其子栏目.括号中的是栏目下的文章数目.
那么本贴就是解决父栏目文章问题的.
思路是:先把父栏目的所有子栏目循环出来,然后把他们的items加起来.
代码如下:
{php $catchild = $CATEGORY[$catid][arrchildid];}
{get sql="select sum(items) as total from phpcms_category where catid in ($catchild)" return="v"}{$v[total]}{/get}
用到了get标签.第一句代码只写一遍就可以了.第二句代码写到父栏目循环里头.也是写一遍就好了.