What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Smarty的标签都是使用定界符括起来。
默认定界符是{
和
}
, 但定界符可以被改变。
比如说在本手册,我们会假定你在使用默认的定界符。 在Smarty看来,任何在定界符之外的内容,都是静态的,或者是不改变的内容。 当Smarty读取到这些标签时,将会试图解析它们,并且在对应的位置输出结果。
模板中的注释是星号开头,然后外面包含着 定界符, 就像这样:
{* 这是一个注释 *}
Smarty的注释在不会在最终的页面输出里显示,
像<!-- HTML comments -->
一样。
这是内部进行一些标记而不被人看到的好方法;-)
Example 3.1. 注释例子
{* 我是一个Smarty的注释, 显示输出时我不会存在 *} <html> <head> <title>{$title}</title> </head> <body> {* 另一个单行的注释例子 *} <!-- HTML 注释会发送到浏览器 --> {* Smarty的多行 注释 不会发送到浏览器 *} {********************************************************* 多行注释的说明栏 @ author: bg@example.com @ maintainer: support@example.com @ para: var that sets block style @ css: the style output **********************************************************} {* 头部文件包括LOGO和其他东西 *} {include file='header.tpl'} {* 开发说明: $includeFile是通过foo.php赋值的 *} <!-- 显示 main content 块 --> {include file=$includeFile} {* 这里的 <select> 块是多余的 *} {* <select name="company"> {html_options options=$vals selected=$selected_id} </select> *} <!-- 变量被注释了 --> {* $affiliate|upper *} {* 注释不能嵌套 *} {* <select name="company"> {* <option value="0">-- none -- </option> *} {html_options options=$vals selected=$selected_id} </select> *} </body> </html>