{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模板解析逻辑里是按行解析的。如果一行代码中三个以上{}(调用三个以上的标签) 则容易解析出错,建议多个标签套用时,多分行。