首页 > CMS建站 > PhpCMS > 正文

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

2020-10-10 21:17:37
字体:
来源:转载
供稿:网友

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

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"//Cuoxin.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的情况,有待考证.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表