1. 变量
  2. 模板变量以美元符号$开头,由字母、数组和下划线组成,和 PHP variable相似。 变量可以引用数字索引或非数字索引的数组,对象的属性和方法等。
  3.  
  4. 配置变量 是例外的,它不是以美元符号$开头,而是放到两个井号中间#hashmarks#, 或者通过 $smarty.config来使用。
  5.  
  6. Example 3.2. 变量
  7.  
  8. {$foo} <-- 显示简单的变量 (非数组/对象)
  9. {$foo[]} <-- 0开始索引的数组中显示第五个元素
  10. {$foo.bar} <-- 显示"bar"下标指向的数组值,等同于PHP$foo['bar']
  11. {$foo.$bar} <-- 显示以变量$bar值作为下标指向的数组值,等同于PHP$foo[$bar]
  12. {$foo->bar} <-- 显示对象属性 "bar"
  13. {$foo->bar()} <-- 显示对象成员方法"bar"的返回
  14. {#foo#} <-- 显示变量配置文件内的变量"foo"
  15. {$smarty.config.foo} <-- 等同于{#foo#}
  16. {$foo[bar]} <-- 仅在循环的语法内可用,见{section}
  17. {assign var=foo value='baa'}{$foo} <-- 显示"baa", 见{assign}
  18.  
  19. 更多合成变量的方式:
  20.  
  21. {$foo.bar.baz}
  22. {$foo.$bar.$baz}
  23. {$foo[].baz}
  24. {$foo[].$baz}
  25. {$foo.bar.baz[]}
  26. {$foo->bar($baz,,$bar)} <-- 传递参数
  27. {"foo"} <-- 静态值
  28.  
  29. {* 显示服务器的环境变量"SERVER_NAME" ($_SERVER['SERVER_NAME'])*}
  30. {$smarty.server.SERVER_NAME}
  31.  
  32. 数学运算和嵌入标签:
  33.  
  34. {$x+$y} // 显示x加y的和
  35. {assign var=foo value=$x+$y} // 和用于赋值
  36. {$foo[$x+]} // 作为下标使用
  37. {$foo={counter}+} // 标签内的标签
  38. {$foo="this is message {counter}"} // 在双引号内的标签
  39.  
  40. 定义数组:
  41.  
  42. {assign var=foo value=[,,]}
  43. {assign var=foo value=['y'=>'yellow','b'=>'blue']}
  44. {assign var=foo value=[,[,],]} // 可嵌套
  45.  
  46. 缩写方式:
  47.  
  48. {$foo=$bar+}
  49. {$foo = strlen($bar)} // 函数赋值
  50. {$foo = myfunct( ($x+$y)* )} // 函数参数
  51. {$foo.bar=} // 赋值给特定的数组元素
  52. {$foo.bar.baz=}
  53. {$foo[]=} // 附加到数组
  54.  
  55. Smarty 点号语法:
  56.  
  57. {$foo.a.b.c} => $foo['a']['b']['c']
  58. {$foo.a.$b.c} => $foo['a'][$b]['c'] // 变量下标
  59. {$foo.a.{$b+}.c} => $foo['a'][$b+]['c'] // 表达式下标
  60. {$foo.a.{$b.c}} => $foo['a'][$b['c']] // 嵌套下标
  61.  
  62. 类似PHP的语法,另一种点号的语法:
  63.  
  64. {$foo[]} // 一般的
  65. {$foo['bar']}
  66. {$foo['bar'][]}
  67. {$foo[$x+$x]} // 下标可以是各种表达式
  68. {$foo[$bar[]]} // 嵌套下标
  69. {$foo[section_name]} // smarty {section} 存取, 非数组存取!
  70.  
  71. 变量构造变量:
  72.  
  73. $foo // 一般的变量
  74. $foo_{$bar} // 变量名包含了其他变量
  75. $foo_{$x+$y} // 变量名包含了表达式
  76. $foo_{$bar}_buh_{$blar} // 更复杂的
  77. {$foo_{$x}} // 如$x = 1,那么将显示$foo_1的值
  78.  
  79. 对象链:
  80.  
  81. {$object->method1($x)->method2($y)}
  82.  
  83. PHP函数直接使用:
  84.  
  85. {time()}

SMARTY 变量的更多相关文章

  1. Smarty 变量使用

    Smarty的标签都是使用定界符括起来. 默认定界符是{ 和 }, 但定界符可以被改变. 比如说在本手册,我们会假定你在使用默认的定界符. 在Smarty看来,任何在定界符之外的内容,都是静态的,或者 ...

  2. [smarty] 在smarty模板中使用smarty变量初始化 javascript 变量的问题

    // 总结:// 1/ 在smarty 模板文件中,使用从php中assign过来的smarty变量,一定需要使用双引号或单引号来括住smarty变量,如:var title="<!- ...

  3. smarty变量调节器

    smarty中变量调解器的作用:在模板中需要对PHP分配过来的变量在输出之前,对变量进行处理 注册变量调解器方式:$smarty->registerPlugin("modifier&q ...

  4. smarty变量

    前台: 注释的两种方式:<{**}>和<!--注释html代码-->比如: <{* <div style="width:100px; height:100 ...

  5. smarty 变量调节器

    变量调节器:<{$a|变量调节器}> 了解更多可以查询smarty手册 主要修改此页面的信息来了解变量调节器:main.php/main.html(0603) 1.利用给定的变量调节器 c ...

  6. Smarty 变量修饰器

    为了更方便的实现 功能与显示分离,通常会用 smarty 将功能代码中的数据 assign 到页面中,在页面中合理使用 smarty 的修饰方法,会使页面显示更美观! 一个数据可同时使用多个修饰函数, ...

  7. 常用的smarty变量操作

    php模板引擎smarty的变量操作符可用于操作变量,自定义函数和字符.语法中使用"|"应用变量操作符,多个参数用":"??指簟?/DIV> capita ...

  8. smarty变量调节器与函数

    smarty自带了一些变量调节器与内置函数,都在libs/plugins目录下,变量调节器以modifier开头,函数以function开头,而且我们可以自定义变量调节器与函数,熟练运用之后会极大地提 ...

  9. 6月5 Smarty变量调节器

    变量调节器:<{$a|变量调节器}> 主要修改此页面的信息来了解变量调节器:test0605/main.php和模板文件:main0605.html 1.利用给定的变量调节器 capita ...

随机推荐

  1. PostgreSQL配置文件--QUERY TUNING

    5 QUERY TUNING 5.1 Planner Method Configuration. 下列参数控制查询优化器是否使用特定的存取方法.除非对优化器特别了解,一般情况下,使用它们默认值即可. ...

  2. Ubuntu下Firefox无法播放视频的解决方法

    Ubuntu为Firefox安装Adobe Flash Player 解决方法(解决火狐浏览器安装了三个flash插件中的第二个或者第三个插件而无法安装第一个adobe flash插件的方法):在新立 ...

  3. 使用ERStudio创建数据表与ER图

    内容中包含 base64string 图片造成字符过多,拒绝显示

  4. 【云计算】Ubuntu14.04 搭建GlusterFS集群

    1.修改 /etc/hosts 所有服务节点执行(如果集群中没有DNS,可忽略此步骤): 10.5.25.37 glusterfs-1-5-25-3710.5.25.38 glusterfs-2-5- ...

  5. 引用类型之object和date详解

    引用类型的值是引用类型的实例,js中的引用类型是一种数据类型,用于将数据和功能组织在一起(也可叫对象定义,因为描述一类对象具有的属性和方法) 1.Object类型 大多数引用类型都是object类型, ...

  6. Discuz常见小问题2-如何在新建的页面上只显示一部分板块

    切换到论坛-版块管理,记住要只显示的板块的gid(比如我的是36)   为某个主导航设置一个单独的php页面(名字自己取)   如果这个页面内容跟首页forum.php完全一样,只是第三行增加了一句话 ...

  7. java程序main方法的参数String[] args

    public class ArgsTest { public static void main(String[] args) { System.out.println(args.length); fo ...

  8. iframe中,页面转换后回到页面的顶部

    看到网上有这样描述的: 现在A页面内分为上下两个部分,上部分是top,下部分分左右,左是treeview右边是iframe,iframe内嵌一个B页面,B页面的内容实质上是个月刊,可以理解为杂志,里面 ...

  9. JAVA 画图机制

    java学习脚印:深入java绘图机制 写在前面 封装性越好的类在使用时,只要清楚接口即可,而不应该让程序员了解其内部结构; 对于平常的绘图来讲,java绘图机制无需了解太多,但是朦胧容易产生错误,绘 ...

  10. 从零開始开发Android版2048 (三)逻辑推断

    近期工作比較忙,所以更新的慢了一点,今天的主要内容是关于Android版2048的逻辑推断,经过本篇的解说,基本上完毕了这个游戏的主体部分. 首先还是看一下,我在实现2048时用到的一些存储的数据结构 ...