系统变量输出可以直接在模板中输出,系统变量的输出通常以{$Think 打头,例如:
{$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
{$Think.session.user_id} // 输出$_SESSION['user_id']变量
{$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
{$Think.cookie.name} // 输出$_COOKIE['name']变量
{$Think.const.MODULE_NAME} 常量
{$Think.config.db_charset}配置输出
{$Think.lang.page_error}语言变量
{:substr(strtoupper(md5($name)),0,3)} 运行函数
{$Think.get.name|default="名称为空"} 默认值输出
<include file="Public/header" />包含模板
{// 注释内容 } 模板注释
__ROOT__: 会替换成当前网站的地址(不含域名)
__APP__: 会替换成当前应用的URL地址 (不含域名)
__MODULE__:会替换成当前模块的URL地址 (不含域名)
__CONTROLLER__(__或者__URL__ 兼容考虑): 会替换成当前控制器的URL地址(不含域名)
__ACTION__:会替换成当前操作的URL地址 (不含域名)
__SELF__: 会替换成当前的页面URL
__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/
'TMPL_PARSE_STRING' =>array(
'__JS__' => '/Public/JS/', // 增加新的JS类库路径替换规则
'__UPLOAD__' => '/Uploads', // 增加新的上传路径替换规则
),
配置文件中定义常量
模板里的 url生成
<volist name="list" id="vo"> <tr>
<td>{$vo.number|sprintf="%04d",###}</td>
<td><if condition="$vo.type ==1 ">顶级<else />普通</if></td>
<td>{$vo.price}</td>
<td><if condition="$vo.status ==1 ">售卖中<else />停售</if></td>
<td>{$vo.remarks}</td>
<td><a href="{:U('card/edit', array('id' => $vo[id]))}" >编辑</a></td>
</tr> </volist>
./应用/模块/View/控制器/方法.html
改变所有模块的模板文件目录
可以通过设置TMPL_PATH常量来改变所有模块的模板目录所在,例如:
define('TMPL_PATH','./Template/');
原来的./Application/Home/View/User/add.html变成了./Template/Home/User/add.html。
模板
$this->show(); 同名方法
$this->show('list'); 同目录
$this->show('index/page'); 控制器/模板
获取内容
$content = $this->fetch('Member:edit');
获取模板地址
获取页面地址的函数
U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
- T('Public/menu');
- // 返回 当前模块/View/Public/menu.html
- T('blue/Public/menu');
- // 返回 当前模块/View/blue/Public/menu.html
- T('Public/menu','Tpl');
- // 返回 当前模块/Tpl/Public/menu.html
- T('Public/menu');
- // 如果TMPL_FILE_DEPR 为 _ 返回 当前模块/Tpl/Public_menu.html
- T('Public/menu');
- // 如果TMPL_TEMPLATE_SUFFIX 为.tpl 返回 当前模块/Tpl/Public/menu.tpl
- T('Admin@Public/menu');
- // 返回 Admin/View/Public/menu.html
- T('Extend://Admin@Public/menu');
- // 返回 Extend/Admin/View/Public/menu.html (Extend目录取决于AUTOLOAD_NAMESPACE中的配置)
在display方法中直接使用T函数:
- // 使用T函数输出模板
- $this->display(T('Admin@Public/menu'));