Chapter 3. 基本语法

Smarty的标签都是使用定界符括起来。 默认定界符是{}, 但定界符可以被改变

比如说在本手册,我们会假定你在使用默认的定界符。 在Smarty看来,任何在定界符之外的内容,都是静态的,或者是不改变的内容。 当Smarty读取到这些标签时,将会试图解析它们,并且在对应的位置输出结果。

注释

模板中的注释是星号开头,然后外面包含着 定界符, 就像这样:

  1. {* 这是一个注释 *}
  2.  

Smarty的注释在不会在最终的页面输出里显示, 像<!— HTML comments —>一样。 这是内部进行一些标记而不被人看到的好方法;-)


Example 3.1. 注释例子

  1. {* 我是一个Smarty的注释, 显示输出时我不会存在 *}
  2. <html>
  3. <head>
  4. <title>{$title}</title>
  5. </head>
  6. <body>
  7.  
  8. {* 另一个单行的注释例子 *}
  9. <!-- HTML 注释会发送到浏览器 -->
  10.  
  11. {*
  12. Smarty的多行
  13. 注释
  14. 不会发送到浏览器
  15. *}
  16.  
  17. {*********************************************************
  18. 多行注释的说明栏
  19. @ author: bg@example.com
  20. @ maintainer: support@example.com
  21. @ para: var that sets block style
  22. @ css: the style output
  23. **********************************************************}
  24.  
  25. {* 头部文件包括LOGO和其他东西 *}
  26. {include file='header.tpl'}
  27.  
  28.  
  29. {* 开发说明: $includeFile是通过foo.php赋值的 *}
  30. <!-- 显示 main content -->
  31. {include file=$includeFile}
  32.  
  33. {* 这里的 <select> 块是多余的 *}
  34. {*
  35. <select name="company">
  36. {html_options options=$vals selected=$selected_id}
  37. </select>
  38. *}
  39.  
  40. <!-- 变量被注释了 -->
  41. {* $affiliate|upper *}
  42.  
  43. {* 注释不能嵌套 *}
  44. {*
  45. <select name="company">
  46. {* <option value="0">-- none -- </option> *}
  47. {html_options options=$vals selected=$selected_id}
  48. </select>
  49. *}
  50.  
  51. </body>
  52. </html>
  53.  

原文: https://www.smarty.net/docs/zh_CN/language.basic.syntax.tpl