Smarty

来源:互联网 发布:桌面日程安排软件推荐 编辑:程序博客网 时间:2024/04/29 10:14

Smarty类主要的属性


分类

属性

说明

默认值

路径

template_dir

模板文件的保存目录

./templates

 

compile_dir

编译完成的模板的保存目录

./templates_c

 

config_dir

设定文件的保存目录

./configs

 

cache_dir

缓冲的保存目录

./cache

 

secure_dir

安全目录的数组(只有在$security=TRUE时有效)

-

 

trusted_dir

信赖目录的数组(只有在$security=TRUE时有效)

-

 

plugins_dir

插件的保存目录

./plugins

缓冲

caching

缓冲功能是否有效

0

 

cache_lifetime

缓冲数据的有效期限(秒单位)

360

 

cache_handler_func

处理缓冲的句柄函数

-

 

cache_modified_check

是否检测If-Modified-Since头

FALSE

设置文件

config_overwriter

如果有同一设定是否覆盖

TRUE

 

config_booleanize

设置文件的On/Off,yes/no是否向TRUE/FALSE变换

TRUE

 

config_read_hidden

是否许可读入隐藏块

FALSE

续表


分类

属性

说明

默认值

 

config_fix_newlines

设定文件的改行是否变换为"\n"

TRUE

编译

compile_check

模板变更时是否进行编译处理

TRUE

 

force_compile

在得到请求时,是否进行强制编译

FALSE

调试

debugging

显示调试前台

FALSE

 

debug_tpl

调试前台显示用的模板文件

debug.tpl

 

debugging_ctrl

调试前台有效/无效是否通过在Query信息控制

NONE

安全

security

安全模式是否有效

FALSE

 

security_settings

安全模式的设定

参考后面

 

use_sub_dirs

是否可用子目录

FALSE

功能扩张

autoload_filters

适用的适配器

 

compile_file

编译模板的类(文件名)

Smarty_Compile.class.php

 

compile_class

编译模板的类

Smarty_Compile

 

config_class

读入设置文件的类

Config_File

 

default_modifiers

默认适用的后缀

-

 

default_resource_type

默认使用的资源

file

其他

left_delimiter

模板的左大括号

{

 

right_delimiter

模板的右大括号

}

 

compile_id

识别编译完全的模板用的ID

-

 

default_template_handler_func

模板文件的读入失败时的处理函数

-

 

error_reporting

错误通知水平(与php.ini的error_reporting参数相当)

-

 

php_handling

模板中含有的PHP脚本的处理方法

SMARTY_PHP_PASSTHRU

 

 

设定值

说明

 

 

SMARTY_PHP_PASSTHRU

不执行脚本直接输出(默认)

 

 

SMARTY_PHP_QUOTE

将脚本以HTML标签的形式显示

 

 

SMARTY_PHP_REMOVE

在模板中除去脚本块

 

 

SMARTY_PHP_ALLOW

许可执行脚本

 

request_vars_order

注册请求变量的顺序

EGPCS

 

request_use_auto_globals

模板中是否使用$HTTP_*_VARS[],$_*[]二者之一

TRUE(使用$_[])

Security_settings属性中可指定的联想数组的关键字如下。
安全模式的详细设置


关键字名

说明

默认值

PHP_HANDLING

是否检查php_handling属性的值

FALSE

IF_FUNCS

{if}函数中可使用的PHP函数名(数组)

array('array','list','isset','empty','count',
'sizeof','in_array','is_array','true','FALSE','null')

INCLUDE_ANY

模板包含时是否检查security_dir属性

FALSE

PHP_TAGS

是否许可使用{php}函数

FALSE

MODIFIER_FUNCS

作为运算符可使用的PHP函数

array('count')

ALLOW_CONSTANTS

是否允许参照常量

FALSE

模块的基本语法
Smarty的模块文件由如下的元素组成。


No.

元素名

语法

说明

1

变量

{$变量名}

模板上动态修改的值。由从PHP脚本明确传过来的模板变量与在Smarty中自动生成的
预约变量组成

2

调节器

{$变量名|运算符[:"参数"[….]]}

加工变量或函数的返回值用的简易命令。可使用[|]连接多个调节器

3

函数

{函数名 属性="属性值"…}~{/函数名}

条件命令或重复处理等控制模板运行的命令

4

运算符

-

代数运算符(+,-,*,/,%)或比较运算符(==,!=,!,<,>,>=,<=)

5

注释

{*~*}

不能成为模板引擎的解析对象的注释信息

HTML模板

No.1~5中不包含的固定的HTML部分

函数名

{$var}

定义和用法

参照模板变量。

语法

1.{$var} 普通值
2.{$var[index]} 通常的数组
3.{$var.key} 联想数组
4.{var->prop|method()} 对象

参数描述

var,变量名
index,顺序号码
key,关键字
prop,属性名
method,方法名

函数名

{$smarty}

定义和用法

参照预约变量。

语法

{$smarty.key…}

参数描述

key,关键字

提示和注释

预约变量{$smarty}是Smarty在运行模板是自动设置值的变量。与模板变量不同,不用为确保预约变量在服务器脚本方编码。
预约变量{$smarty}中可参照的信息


分类

语法

内容

使用例

请求

{$smarty.get.param}

Query信息($_GET)

{$smarty.get.category}

 

{$smarty.post.param}

POST信息($_POST)

{$smarty.post.email}

 

{$smarty.cookies.param}

Cookie信息($_COOKIE)

{$smarty.cookies.name}

 

{$smarty.session.param}

Session变量($_SESSION)

{$smarty.session.depart}

 

{$smarty.server.param}

服务器变量($_SERVER)

{$smarty.server.HTTP_ACCEPT_LANGUAGE}

 

{$smarty.env.param}

环境变量($_ENV)

{$smarty.env.PATH}

 

{$smarty.request.param}

请求变量($_REQUEST)

{$smarty.request.name}

变量/常量

{$smarty.config.param}

设置文件的参数

 

 

{$smarty.capTURE.param}

在{capTURE}函数中捕获的信息

 

 

{$smarty.const.param}

常量

{$smarty.const.param}

循环

{$smarty.section.loop.var}

{$section}循环相关的信息

 

 

{$smarty.foreach.loop.var}

{$foreach}循环相关的信息

 

变换(escape)

{$smarty.ldelim}

模板的左括号

{$smarty.ldelim}

 

{$smarty.rdelim}

模板的右括号

{$smarty.rdelim}

信息

{$smarty.now}

现在的时刻(从1970/1/1开始的秒数)

 

{$smarty.template}

执行中的模板名

{$smarty.template}

 

{$smarty.version}

Smarty的版本

{$smarty.version}

例子

客户端的种类:{$smarty.server.HTTP_USER_AGENT}

函数名

{*~*}

定义和用法

定义注释。

语法

{*comment*}

参数描述

comment,注释

函数描述assign在模板变量中设置值。get_template_vars取得模块变量值。clear_assign清除指定模板变量的值。clear_all_assign清除所有模板变量的值。display执行模板文件。fetch执行模板文件(作为结果字符串返回)。clear_cache清空指定缓冲。clear_all_cache清空所有缓冲。config_load导入设置文件。get_config_vars取得设置文件的参数值。clear_config清除设置文件的参数值。

调节符拥有对模板中的变量进行加工/转换的功能。调节符的语法为{变量名|调节符[参数[…]]}。

函数描述capitalize将第一个字符变为大写。lower转换为小写字母。upper转换为大写字母。replace替换字符串中的特定部分。regex_replace替换字符串中的特定部分(正则表达式)。escape对字符串进行特殊字符转换处理。nl2br将改行符转化为<br/>标签。date_format进行日期数据的格式变换。string_format定义字符串的显示格式。default设置变量为NULL时显示的默认值。strip将输出字符串中的连续空白或改行符转换为单个空格或其他字符。truncate将字符串最后舍去指定字节数。strip_tags除去字符串中含有的标签。indent在段落的开始加入缩进。

模板函数就是在模板文件(.tpl)中能被调用的函数。这些函数能实现简单的条件判断,循环等功能。模板函数的语法就像标签一样,{函数名 属性=”属性值”…}{/函数名}。

函数描述if条件判断函数,为TRUE时,其下的模板内容将显示,可与{elseif}块构建多重条件判断。foreach从指定的数组中循环顺序取出数值/关键字,分别设置在item/key中。section从指定的数组中取出数值,并进行循环处理。assign设置模板变量。fetch导入外部文件。capTURE将输出内容设置到模板变量中。cycle用于轮转输出一组值。include包含进外部模板。config_load使设置文件有效化。counter创建计数器。ldelim将左括号进行escape后输出。rdelim将右括号进行escape后输出。literal对模板的预言字符进行escape后输出。strip除去输出字符串开头/结尾中含有的空白字符串。maitlto变换邮件的连接为难懂的文字。html_checkboxes创建复选框。html_options创建选择框。html_select_date创建日期输入用的选择框。html_select_time创建时刻输入用的选择框。html_image创建图片(<img>标签)。popup_init初始化弹出框。popup显示弹出框。debug启动调试窗口。
原创粉丝点击