ThinkPHP使用备忘打记

  导入外部CSS文件必须指定type属性的值,例如:

<import type='css' file="Css.common" />

上面的方式默认的import的起始路径是网站的Public目录,如果需要指定其他的目录,可以使用basepath属性,例如:

<import file="Js.Util.Array"  basepath="./Common" />

IF标签
如果觉得上面的标签都无法满足条件判断要求的话,我们还可以使用if标签来定义复杂的条件判断,例如:

<if condition="($name eq 1) or ($name gt 100) "> value1

<elseif condition="$name eq 2" />value2

<else /> value3

</if>

在condition属性中可以支持eq等判断表达式 ,同上面的比较标签,但是不支持带有”>”、”<”等符号的用法,因为会混淆模板解析,所以下面的用法是错误的:

<if condition="$id < 5 "> value1

<else /> value2

</if>

必须改成:

<if condition="$id lt 5 "> value1

<else /> value2

</if>

由于if标签的condition属性里面基本上使用的是php语法,尽可能使用判断标签和Switch标签会更加简洁,原则上来说,能够用switch和比较标签解决的尽量不用if标签完成。因为switch和比较标签可以使用变量调节器和系统变量。如果某些特殊的要求下面,IF标签仍然无法满足要求的话,可以使用原生php代码或者PHP标签来直接书写代码。

Php代码可以和标签在模板文件中混合使用,可以在模板文件里面书写任意的PHP语句代码 ,包括下面两种方式:

第一种是使用php标签:

<php>echo 'Hello,world!';</php>

第二种就是直接使用原始的php代码:

<?php echo 'Hello,world!'; ?>

但是php标签或者php代码里面就不能再使用标签(包括普通标签和XML标签)了,因此下面的几种方式都是无效的:

<php><eq name='name' value='value'>value</eq></php>

Php标签里面使用了eq标签,因此无效

<php>if( {$user} != 'ThinkPHP' ) echo  'ThinkPHP' ;</php>

Php标签里面使用了{$user}普通标签输出变量 ,因此无效。

<php>if( $user.name != 'ThinkPHP' ) echo  'ThinkPHP' ;</php>

Php标签里面使用了$user.name 变量输出 ,因此无效。

简而言之,在PHP标签里面不能再使用PHP本身不支持的代码。

原样输出
可以使用literal标签来防止模板标签被解析,例如:

<literal>

<if condition="$name eq 1 "> value1

<elseif condition="$name eq 2" />value2

<else /> value3

</if>

</literal>

上面的if标签被literal标签包含,因此if标签里面的内容并不会被模板引擎解析,而是保持原样输出。

Literal标签可以用于页面的JS代码外面,确保JS代码中的某些用法和模板引擎不产生混淆。



[本日志由 yation 于 2010-01-13 07:10 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ThinkPHP PHP 框架
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.