smarty的内建函数

自定义函数

  为了扩展功能,根据实际需求进行编辑

自定义标签

  <input type=text  name=”input1”>

<{title  num=”10”content=”aaa” size=…}>

1)  PHP文件

Function  fun1($args){……}

$tpl->register_function(“tilte”’,”fun1”);

2)./plugins/function.模板文件函数名.php

     Function smarty_function_**($args,&$smarty){…..}

 

  <a> </a>

   <{title  num=”10”  size=…}> 111111<{/title}>

1)    PHP文件

Function  fun1($args,$content){……}

$tpl->register_block(“tilte”’,”fun1”);

2)./plugins/block.模板文件函数名.php

     Function smarty_block_**($args,$content,&$smarty){…..}

 

 

 

 

内建函数

   按照smarty的要求去用

config_load:加载配置文件

   file= “配置文件名称”

   section=“区域名称”

  $tpl->configs=”./configs” //基准路径

  ./configs/dir_1/a.conf

 <{config_load file=” dir_1/a.conf” section=“one” }>

include

标签用于在当前模板中包含其它子模板.

当前模板中的变量在被包含的子模板中可用

  <{include file=”header.tpl”}>

<{include  file=”footer.html”}>

capture

  捕获模板输出的数据并将其存储到一个变量里,而不是把它们输出到页面.

  任何在 {capture name="foo"}和{/capture}之间的数据将被存储到变量$foo中,该变量由name属性指定.
在模板中通过$smarty.capture.foo 访问该变量.
如果没有指定 name 属性,函数默认将使用 "default" 作为参数.
{capture}必须成对出现,即以{/capture}作为结尾,该函数不能嵌套使用.

 

<{capture name=”自定义区域名”}>

aAaaaaaaaaaaaaa

<{$name}>

<{include  file=”head.tpl”}>

……

<{/capture}>

 

<{$smarty.capture.自定义区域名}>

 

foreach,foreachelse

  功能和语法与php当中类似,====foreach

  foreach($row as $key=>$value){

      …

}

效率差;

for($i=0;$i<5;$i++){  }

 

 变量

  $smarty.foreach.循环名.变量名

iteration:用于显示当前循环的执行次数,从1开始,每执行一次增加 1

first:如果当前循环第一次执行,first 被设置为true

last:如果当前循环执行到最后一次,last 被设置为true

showshow 是 section 的参数. show 取值为布尔值 true 或 false. 如果设置为 false,该循环将不显示. 如果指定了 sectionelse 子句,该字句是否显示也取决于该值.

total: 用于显示循环执行总的次数. 可以在循环中或执行结束后调用此属性.

     section,sectionelse 

  (推荐)for

   功能和效率要比foreach好

   只针对索引数组

   section 显示二维数组 loop

   section 不能处理下标不连续的数组

if,elseif,else

Smarty 中的 if 语句和 php 中的 if 语句一样灵活易用,并增加了几个特性以适宜模板引擎. if 必须于 /if 成对出现. 可以使用 else 和 elseif 子句. 可以使用以下条件修饰词:eq、ne、neq、gt、lt、lte、le、gte、ge、is even、is odd、isnot even、is not odd、not、mod、div by、even by、odd by、==、!=、>、<、<=、>=. 使用这些修饰词时必须和变量或常量用空格格开.

strip:在显示前将除区任何位于 {strip}{/strip} 标记中数据的首尾空格和回车. 这样可以保证模板容易理解且不用担心多余的空格导致问题.

include_php:函数用于在模板中包含 php 脚本. 如果设置了安全模式,被包含的脚本必须位于 $trusted_dir 路径下. include_php 函数必须设置 file 属性,该属性指明被包含 php 文件的路径,可以是 $trusted_dir 的相对路径,也可以是绝对路径.

insert:函数类似欲 inluce 函数,不同之处是 insert 所包含的内容不会被缓存,每次调用该模板都会重新执行该函数.

php:标签允许在模板中直接嵌入 php 脚本. 是否处理这些语句取决于$php_handling的设置. 该语句通常不需要使用,当然如果你非常了解此特性或认为必须要用,也可以使用.

ldelim,rdelim:ldelim 和 rdelim 用于输出分隔符,也就是大括号 "{" 和 "}". 模板引擎总是尝试解释大括号内的内容,因此如果需要输出大括号,请使用此方法.

 

literal:ldelim 和 rdelim 用于输出分隔符,也就是大括号 "{" 和 "}". 模板引擎总是尝试解释大括号内的内容,因此如果需要输出大括号,请使用此方法.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值