1、在解释型的模板中(比如phplib template)使用块或子模板
在编译型的模板中还可构造功能函数2、在解释型的模板中中判断是在php程序里的
在编译型的模板中已经提供了流程控制标记个人认为,某些可能散布于多个页面的部件比如“文章排行”、“搜索框”、“登陆框”等。其html代码还是应该完整的出现在相应的模板中,否则在编辑模板时你将不能看到完整的效果。
在编译型的模板中还可构造功能函数2、在解释型的模板中中判断是在php程序里的
在编译型的模板中已经提供了流程控制标记个人认为,某些可能散布于多个页面的部件比如“文章排行”、“搜索框”、“登陆框”等。其html代码还是应该完整的出现在相应的模板中,否则在编辑模板时你将不能看到完整的效果。
如果用编译型的构造函数,html代码就进了php了。而且美工进行的时候就不方便。2、编译型模板采用流程控制,会破坏模板可读性,是否?
此话正确,子模板不在主模板文件中将影响模板的可视性 如果用编译型的构造函数,html代码就进了php了。而且美工进行的时候就不方便。
否,存在于功能函数中的少量html代码,不会、也不可能影响到美工2、编译型模板采用流程控制,会破坏模板可读性,是否?
是会有一点,但可以用style的display属性来隐藏部分成员来解决
<!-- IF name -->
{aaaa}
<!-- ELSE --->
{bbbb}
<!-- ENDIF -->
这样的模板在编辑时会显示
{aaaa}{bbbb}而
<style>
<!-- IF dev -->
.dev { display:none }
<!-- ENDIF -->
</style>
<!-- IF name -->
{aaaa}
<!-- ELSE --->
<span class="div">{bbbb}</span>
<!-- ENDIF -->
这样的模板在编辑时只会显示
{aaaa}
//流程控制,$target模板文件, $name判断标识,$condition判断条件, $value要判断的值
function check_flow($target, $name, $value='', $condition=true)
{
$str = $this->get_var($target);
if($value==$condition)
{
$reg[] = "/<!--\s+else $name\s+-->(.*)\n\s*<!--\s+\/if $name\s+-->\r\n/sm";
$reg[] = "/<!--\s+if $name\s+-->\r\n/isU";
$result = preg_replace($reg,"",$str);
return $result;
}
else
{
$reg[] = "/<!--\s+if $name\s+-->(.*)\n\s*<!--\s+else $name\s+-->\r\n/sm";
$reg[] = '/<!--\s+\/if $name\s+-->\r\n/isU';
$result = preg_replace($reg,"",$str);
return $result;
}
}
phplib 有没有<!-- IF name -->的流程控制,怎么没有看过相关的资料提及。有的话,应该怎样用,给个例子吧。
流程控制是smartemplate里面的。