zoukankan      html  css  js  c++  java
  • smarty基础语法

    变量
    {$foo} <-- 显示简单的变量 (非数组/对象) {$foo[4]} <-- 在0开始索引的数组中显示第五个元素 {$foo.bar} <-- 显示"bar"下标指向的数组值,等同于PHP的$foo['bar'] {$foo.$bar} <-- 显示以变量$bar值作为下标指向的数组值,等同于PHP的$foo[$bar] {$foo->bar} <-- 显示对象属性 "bar" {$foo->bar()} <-- 显示对象成员方法"bar"的返回 {#foo#} <-- 显示变量配置文件内的变量"foo" {$smarty.config.foo} <-- 等同于{#foo#} {$foo[bar]} <-- 仅在循环的语法内可用,见{section} {assign var=foo value='baa'}{$foo} <-- 显示"baa", 见{assign} 更多合成变量的方式: {$foo.bar.baz} {$foo.$bar.$baz} {$foo[4].baz} {$foo[4].$baz} {$foo.bar.baz[4]} {$foo->bar($baz,2,$bar)} <-- 传递参数 {"foo"} <-- 静态值 {* 显示服务器的环境变量"SERVER_NAME" ($_SERVER['SERVER_NAME'])*} {$smarty.server.SERVER_NAME} 数学运算和嵌入标签: {$x+$y} // 显示x加y的和 {assign var=foo value=$x+$y} // 和用于赋值 {$foo[$x+3]} // 作为下标使用 {$foo={counter}+3} // 标签内的标签 {$foo="this is message {counter}"} // 在双引号内的标签 定义数组: {assign var=foo value=[1,2,3]} {assign var=foo value=['y'=>'yellow','b'=>'blue']} {assign var=foo value=[1,[9,8],3]} // 可嵌套 缩写方式: {$foo=$bar+2} {$foo = strlen($bar)} // 函数赋值 {$foo = myfunct( ($x+$y)*3 )} // 函数参数 {$foo.bar=1} // 赋值给特定的数组元素 {$foo.bar.baz=1} {$foo[]=1} // 附加到数组 Smarty 点号语法: {$foo.a.b.c} => $foo['a']['b']['c'] {$foo.a.$b.c} => $foo['a'][$b]['c'] // 变量下标 {$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c'] // 表达式下标 {$foo.a.{$b.c}} => $foo['a'][$b['c']] // 嵌套下标 类似PHP的语法,另一种点号的语法: {$foo[1]} // 一般的 {$foo['bar']} {$foo['bar'][1]} {$foo[$x+$x]} // 下标可以是各种表达式 {$foo[$bar[1]]} // 嵌套下标 {$foo[section_name]} // smarty {section} 存取, 非数组存取! 变量构造变量: $foo // 一般的变量 $foo_{$bar} // 变量名包含了其他变量 $foo_{$x+$y} // 变量名包含了表达式 $foo_{$bar}_buh_{$blar} // 更复杂的 {$foo_{$x}} // 如$x = 1,那么将显示$foo_1的值 对象链: {$object->method1($x)->method2($y)} PHP函数直接使用: {time()

    函数

    每个Smarty的标签都可以是显示一个 变量或者调用 某种类型的函数。 调用和显示的方式是在定界符内包含了函数,和其 属性, 如:{funcname attr1="val1" attr2="val2"}.

    Example 3.3. 函数语法

    {config_load file="colors.conf"}
    
    {include file="header.tpl"}
    {insert file="banner_ads.tpl" title="My Site"}
    
    {if $logged_in}
        Welcome, <span style="color:{#fontColor#}">{$name}!</span>
    {else}
        hi, {$name}
    {/if}
    
    {include file="footer.tpl"}
    • 包括内置函数自定义函数 都是用同样的语法调用。

    • 内置函数是工作在Smarty 内部的函数, 类似 {if}, {section}{strip}等等。 它们不需要进行修改或者改变。

    • 自定义函数是通过插件定义的 额外的函数。 你可以任意修改自定义函数,或者创建一个新的函数。 {html_options}就是一个自定义函数的例子。

     

  • 相关阅读:
    java Activiti 工作流引擎 SSM 框架模块设计方案
    自定义表单 Flowable 工作流 Springboot vue.js 前后分离 跨域 有代码生成器
    数据库设计的十个最佳实践
    activiti 汉化 stencilset.json 文件内容
    JAVA oa 办公系统模块 设计方案
    java 考试系统 在线学习 视频直播 人脸识别 springboot框架 前后分离 PC和手机端
    集成 nacos注册中心配置使用
    “感恩节 ”怼记
    仓颉编程语言的一点期望
    关于System.out.println()与System.out.print("\n")的区别
  • 原文地址:https://www.cnblogs.com/heyang71212/p/3628574.html
Copyright © 2011-2022 走看看