Chapter 3. 基本语法

Table of Contents

注释 
变量
函数
属性
双引号中嵌入变量
数学计算
避免Smarty解析

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>