当前位置:首页 > CMS教程 > phpcms > 列表

phpcms V9页面loop标签$n变量不明问题

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-19 20:19:36 浏览: 评论:0 

首先看看遇到的问题,看图:

phpcms V9页面loop标签$n变量不明问题:

一个JS,用category标签loop循环出网站行业分类,缺省情况为‘综合服务’一栏被选中,有一个class='open',其他为未选中状态,这里可以用v9的$n进行处理,看代码:

注意,为了防止网站对html跟php代码的转换,这里在li标签及php标签内加了一个小点,下同.

  1. ...(省略前面部分代码) 
  2.  
  3. {loop $data $k $v} 
  4.  
  5.     <.li>$n==1}class='open'{/if}>{$v[catname]}<./li> <.li style="list-style: none"> 
  6.  
  7. ...(省略后面部分代码) 

这里这个$n是v9本身就存在的,无需声明就可以直接使用的一个循环变量,官方默认模板也是直接使用,按理说这行代码不存在问题,但是结果是上图所有的catname都处于选中状态,把{$n}打印出来 全部是1,一下子想不明白为什么,上网问了一下网友,网友给出的答案是他的$n是正常++的,于是我把{if}条件写到外面,结果$n还是恒为1,不知原因何在,为了解决这个问题,Cesc自行增加了一个变量$a,看代码:

  1. ...(省略前面部分代码) 
  2.  
  3. <.?php $a = 0;?> 
  4.  
  5. {pc:content action="category" catid="11" num="25" siteid="$siteid" order="listorder ASC"//phpfensi.com 
  6.  
  7. {loop $data $k $v
  8.  
  9. <.?php $a++; ?> 
  10.  
  11.  <.li>{$v[catname]}<./li> <.li style="list-style: none"
  12.  
  13. ...(省略后面部分代码) 

这里 可以直接在模板内部使用原生php代码 定义一个++的$a变量,当程序循环生成页面的时候$a随着loop自增,最终得到上图的效果,但是为什么loop的时候会出现$n不自增,始终为1的情况,有待考证.

Tags: phpcms变量 loop标签 $n变量

分享到: