第三章 基本语法

目录
注释
变量
函数
属性
双引号中的变量嵌入
数学
Smarty解析的转义

    所有的Smarty模板标记都由分隔符包含。缺省的分隔符为{},但是可以改变

    所有例子中,我们假定你使用缺省的分隔符。Smarty中,所有在分隔符之外的内容被显示为静态内容,或者说不会被改变。一旦Smarty遇见分隔符,它将尝试解释它们,然后在其位置处显示合适的内容。

注释

    模板注释由星号包围,继而由分隔符包围,型如:{* 这是一个注释 *}。Smarty注释不会在最终模板的输出中显示,这点和<!-- HTML comments -->不同。前者对于在模板中插入内部注释有用,因为没有人能看到。;-)

例子3-1. 模板中的注释

{* 这是Smarty注释,不出现在编译后的输出中 *}
<html>
<head>
<title>{$title}</title>
</head>
<body>

{* 另一个单行Smarty注释 *}
<!-- 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脚本中赋值 *}
<!-- 显示主内容块 -->
{include file=$includeFile}

{* 该<select>块是多余的 *}
{*
<select name="company">
  {html_options options=$vals selected=$selected_id}
</select>
*}

{* 模板的cvs标记。下面的36应该是美元符号。
但是在CVS中被转换了。 *}
{* &#36;Id: Exp &#36; *}
{* $Id: *}
</body>
</html>