解决此问题有两种办法:1、第三层if换成eq或者原生<?php 'abc';> 2、修改Tp核心配置文件
1、第三层if换成eq或者原生<?php 'abc';>
如下图<eq name="uid" value="">未登录状态下<else />登录状态下 </eq>
name为条件 和value为值
2、修改TP核心配置文件,路径如下
thinkphp/ThinkPHP/Library/Think/Template/TagLib/Cx.class.php
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------------- // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- namespace Think\Template\TagLib; use Think\Template\TagLib; /** * CX标签库解析类 */ class Cx extends TagLib { // 标签定义 protected $tags = array( // 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1) alias 标签别名 level 嵌套层次 'php' => array(), 'volist' => array('attr' => 'name,id,offset,length,key,mod', 'level' => 3, 'alias' => 'iterate'), 'foreach' => array('attr' => 'name,item,key', 'level' => 3), 'if' => array('attr' => 'condition', 'level' => 2), 'elseif' => array('attr' => 'condition', 'close' => 0), 'else' => array('attr' => '', 'close' => 0), 'switch' => array('attr' => 'name', 'level' => 2), 'case' => array('attr' => 'value,break'), 'default' => array('attr' => '', 'close' => 0), 'compare' => array('attr' => 'name,value,type', 'level' => 3, 'alias' => 'eq,equal,notequal,neq,gt,lt,egt,elt,heq,nheq'), 'range' => array('attr' => 'name,value,type', 'level' => 3, 'alias' => 'in,notin,between,notbetween'), 'empty' => array('attr' => 'name', 'level' => 3), 'notempty' => array('attr' => 'name', 'level' => 3), 'present' => array('attr' => 'name', 'level' => 3), 'notpresent' => array('attr' => 'name', 'level' => 3), 'defined' => array('attr' => 'name', 'level' => 3), 'notdefined' => array('attr' => 'name', 'level' => 3), 'import' => array('attr' => 'file,href,type,value,basepath', 'close' => 0, 'alias' => 'load,css,js'), 'assign' => array('attr' => 'name,value', 'close' => 0), 'define' => array('attr' => 'name,value', 'close' => 0), 'for' => array('attr' => 'start,end,name,comparison,step', 'level' => 3), ); /** * php标签解析 * @access public * @param array $tag 标签属性 * @param string $content 标签内容 * @return string */ public function _php($tag, $content) { $parseStr = '<?php ' . $content . ' ?>'; return $parseStr; } /** * volist标签解析 循环输出数据集 * 格式: * <volist name="userList" id="user" empty="" > * {user.username} * {user.email} * </volist> * @access public * @param array $tag 标签属性 * @param string $content 标签内容 * @return string|void */ public function _volist($tag, $content) { $name = $tag['name']; $id = $tag['id']; $empty = isset($tag['empty']) ? $tag['empty'] : ''; $key = !empty($tag['key']) ? $tag['key'] : 'i'; $mod = isset($tag['mod']) ? $tag['mod'] : '2'; // 允许使用函数设定数据集 <volist name=":fun('arg')" id="vo">{$vo.name}</volist> $parseStr = '<?php '; if (0 === strpos($name, ':')) { $parseStr .= '$_result=' . substr($name, 1) . ';'; $name = '$_result'; } else { $name &#