在使用ThinkPHP3.2.3进行开发时,碰到一个问题,使用了<if>标签后,在HTML中解析失败。后查看发现TP嵌套的if标签是有上限的,具体目录在ThinkPHP/Library/Think/Templete/TagLib/Cx.class.php
// 将
'if' => array('attr'=>'condition','level'=>2),
// 修改为
'if' => array('attr'=>'condition','level'=>3),
此外该文件下还有许多TP标签模板的配置供修改,但一般情况下不建议进行修改。官方的Cx的模板库定义了if的默认嵌套层数肯定是有其原因的,随意修改容易造成不可预见的异常。
除了上述办法,还有以下和if标签同效的eq标签,如果不想使用以上方法可以尝试以下办法
<eq name="Think.get.name" value="value">相等<else/>不相等</eq>
网友评论