phpcms V9页面loop标签$n变量不明问题:
一个JS,用category标签loop循环出网站行业分类,缺省情况为‘综合服务’一栏被选中,有一个class='open',其他为未选中状态,这里可以用v9的$n进行处理,看代码:
注意,为了防止网站对html跟php代码的转换,这里在li标签及php标签内加了一个小点,下同.
...(省略前面部分代码)
{loop $data $k $v}
<.li>$n==1}class='open'{/if}>{$v[catname]}<./li> <.li style="list-style: none">
...(省略后面部分代码)
这里这个$n是v9本身就存在的,无需声明就可以直接使用的一个循环变量,官方默认模板也是直接使用,按理说这行代码不存在问题,但是结果是上图所有的catname都处于选中状态,把{$n}打印出来 全部是1,一下子想不明白为什么,上网问了一下网友,网友给出的答案是他的$n是正常++的,于是我把{if}条件写到外面,结果$n还是恒为1,不知原因何在,为了解决这个问题,Cesc自行增加了一个变量$a,看代码:
...(省略前面部分代码)
<.?php $a = 0;?>
{pc:content action="category" catid="11" num="25" siteid="$siteid" order="listorder ASC"} //Cuoxin.com
{loop $data $k $v}
<.?php $a++; ?>
<.li>{$v[catname]}<./li> <.li style="list-style: none">
...(省略后面部分代码)
这里 可以直接在模板内部使用原生php代码 定义一个++的$a变量,当程序循环生成页面的时候$a随着loop自增,最终得到上图的效果,但是为什么loop的时候会出现$n不自增,始终为1的情况,有待考证.
大型站长资讯类网站! https://www.0857zz.com