{pc:content  action="position" posid="24"  order="listorder ASC" thumb="1" num="5"}
{php $v=1;}
{loop $data $r}
<li class="li_right_{php echo $v;$v++;}"><a href="{$r['url']}"><img src="{thumb($r['thumb'],155,211)}"></a></li>
{/loop}
{/pc}

如上,运行报错,

Parse error: syntax error, unexpected '?' in E:\......    on line 74

查看缓存文件解析模版得:

<li class="li_right_<?php echo $v;$v++;}"><a href="<?php echo $r['url'];?>"><img src="{thumb($r['thumb'],155,211)?>"></a></li>
解决方法:模板中<li>中代码分行
 <li class="li_right_{php echo $v;$v++;}">
  <a href="{$r['url']}"><img src="{thumb($r['thumb'],155,211)}"></a>
</li>

分析原因:phpcms模板解析逻辑里是按行解析的。如果一行代码中三个以上{}(调用三个以上的标签) 则容易解析出错,建议多个标签套用时,多分行。

 
05-11 17:22
查看更多