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