Table of Contents
- 序言
- I. 开始
- II. 模板设计师篇
- 3. 基本语法
- 4. 变量
- 5. 变量修饰器
- 6. 复合修饰器
- 7. 内置函数
- 8. 自定义函数
- 9. 配置文件
- 10. 调试控制台
- III. 程序开发者篇
- 11. 字符集编码
- 12. 常量
- 13. Smarty成员变量
- $allow_php_templates
- $auto_literal
- $autoload_filters
- $cache_dir
- $cache_id
- $cache_lifetime
- $cache_locking
- $cache_modified_check
- $caching
- $caching_type
- $compile_check
- $compile_dir
- $compile_id
- $compile_locking
- $compiler_class
- $config_booleanize
- $config_dir
- $config_overwrite
- $config_read_hidden
- $debug_tpl
- $debugging
- $debugging_ctrl
- $default_config_type
- $default_modifiers
- $default_resource_type
- $default_config_handler_func
- $default_template_handler_func
- $direct_access_security
- $error_reporting
- $escape_html
- $force_cache
- $force_compile
- $left_delimiter
- $locking_timeout
- $merge_compiled_includes
- $php_handling
- $plugins_dir
- $right_delimiter
- $smarty_debug_id
- $template_dir
- $trusted_dir
- $use_include_path
- $use_sub_dirs
- 14. Smarty成员方法
- addConfigDir() — 增加一个配置文件目录
- addPluginsDir() — 增加一个插件目录
- addTemplateDir() — 增加一个模板文件目录
- append() — 把值追加到数组。
- appendByRef() — 引用追加
- assign() — 赋值
- assignByRef() — 引用赋值
- clearAllAssign() — 清除全部赋值
- clearAllCache() — 清除全部缓存
- clearAssign() — 清除赋值
- clearCache() — 清除缓存
- clearCompiledTemplate() — 清除模板编译文件
- clearConfig() — 清除配置
- compileAllConfig() — 编译全部配置文件
- compileAllTemplates() — 编译全部模板
- configLoad() — 载入预配置的变量
- createData() — 创建数据对象
- createTemplate() — 创建模板对象
- disableSecurity() — 关闭安全检查
- display() — 显示
- enableSecurity() — 开启安全检查
- fetch() — 取得输出内容
- getCacheDir() — 取得缓存目录
- getCompileDir() — 取得编译目录
- getConfigDir() — 取得配置文件目录
- getConfigVars() — 取得预配置变量
- getPluginsDir() — 取得插件目录
- getRegisteredObject() — 获取已注册对象
- getTags() — 取得模板标签
- getTemplateDir() — 取得模板目录
- getTemplateVars() — 取得变量值
- isCached() — 检查模板是否已经缓存
- loadFilter() — 载入过滤插件
- Smarty::muteExpectedErrors() — 忽略脚本警告信息
- registerCacheResource() — 注册缓存资源
- registerClass() — 注册类
- registerDefaultPluginHandler() — 注册默认插件处理器
- registerFilter() — 注册过滤器
- registerPlugin() — 注册插件
- registerObject() — 注册对象
- registerResource() — 注册资源
- setCacheDir() — 设置缓存目录
- setCompileDir() — 设置编译目录
- setConfigDir() — 设置配置目录
- setPluginsDir() — 设置插件目录
- setTemplateDir() — 设置模板目录
- templateExists() — 检查模板是否存在
- unregisterCacheResource() — 注销缓存资源
- unregisterFilter() — 注销过滤器
- unregisterPlugin — 注销插件
- unregisterObject() — 注销对象
- unregisterResource() — 注销资源
- testInstall() — 测试Smarty安装
- 15. 缓存
- 16. 资源
- 17. 高级特性
- 18. 以插件扩展Smarty
- 19. SmartyBC - 向前兼容的类库
- IV. 附录
List of Examples
- 2.1. 载入Smarty库文件
- 2.2. 手动指定 SMARTY_DIR 常量
- 2.3. 用绝对路径引用库文件
- 2.4. 将库文件路径增加到
php.ini
文件 - 2.5. 通过函数ini_set() 来设置include path
- 2.6. 目录文件结构
- 2.7. 设置目录的读写权限
- 2.8. /web/www.example.com/guestbook/templates/index.tpl
- 2.9. 修改 /web/www.example.com/docs/guestbook/index.php
- 2.10. /php/includes/guestbook/setup.php
- 2.11. /web/www.example.com/guestbook/htdocs/index.php
- 3.1. 注释例子
- 3.2. 变量
- 3.3. 函数语法
- 3.4. 函数属性语法
- 3.5. 例子
- 3.6. 例子
- 3.7. 数学计算例子
- 3.8. 使用自动忽略解析的特性
- 3.9. 改变定界符的例子
- 4.1. 变量例子
- 4.2. 变量赋值
- 4.3. 数组变量
- 4.4. 使用数组下标
- 4.5. 使用对象
- 4.6. 变量范围的例子
- 4.7. 配置变量
- 4.8. 显示页面请求变量
- 5.1. 修饰器例子
- 5.2. capitalize
- 5.3. cat
- 5.4. count_characters
- 5.5. count_paragraphs
- 5.6. count_sentences
- 5.7. count_words
- 5.8. date_format
- 5.9. default
- 5.10. escape
- 5.11. escape的另一个例子
- 5.12. indent
- 5.13. lower
- 5.14. nl2br
- 5.15. regex_replace
- 5.16. replace
- 5.17. spacify
- 5.18. string_format
- 5.19. strip
- 5.20. strip_tags
- 5.21. truncate
- 5.22. escape
- 5.23. upper
- 5.24. wordwrap
- 6.1. 复合修饰器
- 7.1. 简单赋值
- 7.2. 数学运算赋值
- 7.3. 对数组元素赋值
- 7.4. 对多维数组元素赋值
- 7.5. 附加到数组
- 7.6. 赋值的作用范围
- 7.7. {append}
- 7.8. {assign}
- 7.9. {assign} 使用nocache属性
- 7.10. {assign} 进行数学运算
- 7.11. {assign} 在调用的模板内的作用范围
- 7.12. {assign} 作用范围例子
- 7.13. {assign} 赋值一个全局变量
- 7.14. 从PHP脚本中获取{assign} 的变量
- 7.15. 简单的
{block}
例子 - 7.16. 前面附加
{block}
例子 - 7.17. 后面附加
{block}
例子 - 7.18.
{$smarty.block.child}
例子 - 7.19.
{$smarty.block.parent}
例子 - 7.20. 调用一个递归菜单的例子
- 7.21. {capture}使用name属性
- 7.22. {capture} 捕获内容到变量
- 7.23. {capture} 捕获内容到数组变量
- 7.24. {config_load}
- 7.25. {config_load} 载入段落配置变量
- 7.26. 简单 {extends} 例子
- 7.27. 简单的
{for}
循环 - 7.28. 使用
max
属性 - 7.29.
{forelse}
的执行 - 7.30. 简单的
{foreach}
循环 - 7.31. 使用
key
变量的例子 - 7.32. 多维数组通过
item
和key
来嵌套使用{foreach} - 7.33. {foreachelse}的数据库例子
- 7.34.
index
例子 - 7.35.
iteration
例子: is div by - 7.36.
iteration
例子: is even/odd by - 7.37.
first
例子 - 7.38.
last
例子 - 7.39.
show
例子 - 7.40.
total
例子 - 7.41.
{break}
例子 - 7.42.
{continue}
例子 - 7.43. 递归菜单 {function} 例子
- 7.44. {if} 表达式
- 7.45. {if} 的更多例子
- 7.46. 简单 {include} 例子
- 7.47. {include} 传递变量
- 7.48. {include} 作用范围示例
- 7.49. {include} 关闭缓存
- 7.50. {include} 单独的缓存时间
- 7.51. {include}开启缓存
- 7.52. {include} 和赋值变量
- 7.53. {include} 相对路径
- 7.54. 各种 {include} 资源例子
- 7.55. {include_php} 函数
- 7.56. {insert} 函数
- 7.57. {ldelim}, {rdelim}
- 7.58. 再一个 Javascript 例子
- 7.59. {literal} 标签
- 7.60. 阻止模板区域缓存
- 7.61. {php}标签的使用
- 7.62. {php}标签中使用全局变量来赋值变量
- 7.63. 简单的{section}例子
- 7.64. {section}不使用赋值数组
- 7.65. 给{section}设置名称
- 7.66. {section}中使用关联数组
- 7.67. {section}的
loop
属性的演示例子 - 7.68. {section}嵌套
- 7.69. {sectionelse}的数据库例子
- 7.70. {section}
index
属性 - 7.71.
index
,index_next
和index_prev
属性 - 7.72.
iteration
属性 - 7.73. {section} 属性
first
和last
- 7.74. {section} 属性
loop
- 7.75.
show
属性 - 7.76.
total
例子 - 7.77. {setfilter} 标签
- 7.78. {strip} 标签
- 7.79. {while} 循环
- 8.1. {counter}
- 8.2. {cycle}
- 8.3. {eval}
- 8.4. 另一个{eval}例子
- 8.5. {fetch} 例子
- 8.6. {html_checkboxes}
- 8.7. 数据库例子(例如 PEAR 或 ADODB):
- 8.8. {html_image} 例子
- 8.9. 使用
options
属性 - 8.10. 分开赋值
values
和ouptut
- 8.11. 数据库例子(如 ADODB 或 PEAR)
- 8.12. <optgroup> 下拉组
- 8.13. {html_radios}第一个例子
- 8.14. {html_radios}第二个例子
- 8.15. {html_radios} 数据库例子(如 PEAR 或 ADODB):
- 8.16. {html_select_date}
- 8.17. {html_select_date} 第二个地理
- 8.18. {html_select_time}
- 8.19. {html_table}
- 8.20. {mailto}例子和其输出的结果
- 8.21. {math}
- 8.22. {textformat}
- 9.1. 配置文件语法示例
- 11.1. 设置字符集编码
- 12.1. SMARTY_DIR
- 13.1. 虚拟主机环境的$compile_id
- 13.2. #变量#数组
- 13.3. 在localhost上的$debugging_ctrl
- 13.4. $default_config_handler_func
- 13.5. $default_template_handler_func
- 14.1. addConfigDir()
- 14.2. addPluginsDir()
- 14.3. addTemplateDir()
- 14.4. append()
- 14.5. appendByRef()
- 14.6. assign()
- 14.7. assignByRef()
- 14.8. clearAllAssign()
- 14.9. clearAllCache
- 14.10. clearAssign()
- 14.11. clearCache()
- 14.12. clearCompiledTemplate()
- 14.13. clearConfig()
- 14.14. compileAllConfig()
- 14.15. compileAllTemplates()
- 14.16. configLoad()
- 14.17. createData()
- 14.18. createTemplate()
- 14.19. display()
- 14.20. 其他 display() 的示例
- 14.21. fetch()
- 14.22. 用fetch()来发邮件
- 14.23. getCacheDir()
- 14.24. getCompileDir()
- 14.25. getConfigDir()
- 14.26. getConfigVars()
- 14.27. getPluginsDir()
- 14.28. getRegisteredObject()
- 14.29. getTags()
- 14.30. getTemplateDir()
- 14.31. getTemplateVars
- 14.32. isCached()
- 14.33. isCached()用于多缓存的模板
- 14.34. 载入过滤插件
- 14.35. registerCacheResource()
- 14.36. 注册类
- 14.37. 注册带命名空间的类
- 14.38. 默认插件处理器例子
- 14.39. 注册函数
- 14.40. 注册块函数
- 14.41. 注册修饰器
- 14.42. registerResource()
- 14.43. setCacheDir()
- 14.44. setCompileDir()
- 14.45. setConfigDir()
- 14.46. setPluginsDir()
- 14.47. setTemplateDir()
- 14.48. templateExists()
- 14.49. unregisterCacheResource()
- 14.50. 注销函数
- 14.51. unregisterResource()
- 14.52. testInstall()
- 15.1. 开启缓存
- 15.2. 为每个缓存设置$cache_lifetime
- 15.3. 关闭 $compile_check
- 15.4. 使用 isCached()
- 15.5. 删除缓存
- 15.6. display()的参数作为$cache_id
- 15.7. 给 isCached() 传递一个 cache_id
- 15.8. 删除特定$cache_id的缓存
- 15.9. $cache_id 组
- 15.10. 使模板的一块区域不进行缓存
- 15.11. 让标签内容不进行缓存
- 15.12. 控制变量不缓存
- 15.13. 控制插件的缓存
- 15.14. 使模板内一部分区域不缓存
- 15.15. 通过MySQL实现自定义缓存机制
- 15.16. 通过Memcache实现自定义缓存机制
- 16.1. 使用$template_dir
- 16.2. 特定的$template_dir
- 16.3. 任意目录的模板
- 16.4. 使用windows的文件路径
- 16.5. 使用字符串资源
- 16.6. 使用编码后的字符串资源
- 16.7. PHP数据流
- 16.8. 模板中使用
- 16.9. 使用模板继承
- 16.10. U使用自定义资源
- 17.1. 扩展Smarty_Security 类来设置安全策略
- 17.2. 通过Smarty_Security类的实例来自定义安全策略
- 17.3. 开启默认的安全设置
- 17.4. 创建模板对象并修改Smarty的设置
- 17.5. 创建模板对象并注册插件
- 17.6. 模板继承例子
- 17.7. 用
extends:
来进行模板继承 - 17.8. 数据流变量
- 17.9. 注册或赋值一个对象
- 17.10. 静态类存取语法
- 17.11. 使用前置过滤器
- 17.12. 使用后置过滤器
- 17.13. 使用输出过滤器
- 18.1. 带输出的函数插件
- 18.2. 不带输出的函数插件
- 18.3. 一个简单的修饰器
- 18.4. 更复杂的修饰器
- 18.5. 块函数
- 18.6. 一个简单的编译函数
- 18.7. 前置过滤器
- 18.8. 后置过滤器
- 18.9. 输出过滤器
- 18.10. 资源插件
- 18.11. 插入插件
- 19.1. 使用SmartyBC
- 20.1. Smarty 错误
- 20.2. PHP 错误提示
- 20.3. 其他的常见错误
- 21.1. 当变量为空时显示
- 21.2. 给变量赋默认值
- 21.3. 传递标题到头部模板
- 21.4. 使用 date_format
- 21.5. 转换元件的日期为时间戳
- 21.6. 使用 {insert} 来插入一个WML类型的文件头
- 21.7. 组件化模板
- 21.8. 混淆电邮地址的例子
Comments