zoukankan      html  css  js  c++  java
  • smarty内建函数 枫

    内建函数
    内建函数不能擅自修改。
    capture
    capture函数的作用是收集模板输出的数据到一 个变量里,而不是把它们输出到页面.例如任何在 {capture name=”foo”}和{/capture}之间的数据都被收到了由函数的名称属性指定的变量{$foo}里,或者 {$smarty.capture.foo}里。如果函数没有名字属性,将使用”default”.每个{capture}都必须对应 {/capture},也不能嵌套使用capture函数。

    config_load
    引用配置文件
    file是必须的,说明要包含进来的配置文件名称,section说明要加载的部分的名称,scope被处理的变量的作用域.必须是local,parent或者global.
    local的意思是变量将在本模板里被加载.
    parent的意思是变量将在本模板和上级模板被加载.
    global的意思是变量将应用到所有的模板.默认为local。变量是否在上级模板可视,默认为no。如果scope属性已经有了,这个值将被忽略.

    foreach,foreachelse
    foreach循环是选择性的section循环.用于遍历关联数组.foreach的语法比section简单的多,但是作为一个折中它只能用于简单数组.
    foreach 必须的参数是from和item. from变量表示需要循环的数组的名称,item表示当前元素的变量名,key表示当前关键字的变量名,name表示访问foreach属性的 foreach循环名。循环可以互相嵌套,被嵌套的循环之间的名字必须是独立的.foreachelse 在from变量没有值的时候被执行

    include
    用来引用其他的模板。
    file属性是必须的用来表示所引用模板的名字,assign表示include文件将要分配的输出的变量。你可以自行用属性名=”属性值”的方式定义任意个局部变量。

    include_php
    用来在模板中引入php脚本。file是必须的用来表示php脚本的路径,once确定如果在模板中引用了php脚本多次,是否只装载一次。默认为true。

    insert
    用 来包含php脚本中的函数,name是必须的,表示所插入的脚本的名称,注意如果名称是name,则包含的函数则是insert_name(),所以所有 要插入的函数要有前缀insert_ 。如果用了assign属性,则insert的输出将会分配给模板变量而不会显示。script表示要引用的脚本路径。这个程序产生的内容将不会被缓存, 在每次调用该页时重新执行,适用于广告,投票,查询结果等互动的地方。

    smarty中往insert中传参数的方法:
    smarty里insert方法传参数的方法介绍如下:
    smarty模板:
    {insert name="getPara" p1="php" p2="zixue"}

    php代码:
    function insert_getPara($arr)
    {
    return $arr["p1"]." " .$arr["p2"];
    }

    将输出:php zixue

    用insert方法的时候,代码里的函数名前面一定要有"insert_" 否则会出错,当然除了你改了模板规则.
    其中p1,p2,是要传的两个参数名,可以有多个,任意的,只要里外对应就行.$arr表示数组也是随便写的.

    if,elseif,else
    if语句和和 条件同php差不多,但每个词之间必须用空格分割开。也有一些新的条件语句,列举如下:eq相等,ne、neq不相等,gt大于,lt小于,gte、ge 大于等于,lte、le 小于等于,not非,mod求模。is [not] div by是否能被某数整除,is [not]even是否为偶数,$a is [not] even by $b即($a / $b) % 2 == 0,is [not] odd是否为奇,$a is not odd by $b即($a / $b) % 2 != 0

    php
    php标记可以让模板中能直接使用php语言。

    section,sectionelse
    section 用来循环显示数组的数据,name和loop是必须的参数。name表示嵌套名. section 可以嵌套使用,但是名字必须各不相同。loop表示循环的次数. sectionelse在loop参数为空的输出。start用来规定循环开始的指针,如果值为负则从数组尾部计算开始的指针,默认为0.step表示循 环的步数,为负则反向循环,默认为1.max设定循环的最大步数.show决定是否显示section.
    section也有自己的变量处理section属性,用{$smarty.section.sectionname.varname} 来显示.

    index
    index用来显示当前循环的指针,从0开始.

    index_prev
    用来显示前一次循环的指针,从-1开始

    index_next
    用来显示后一次循环的指针.

    iteration
    显示当前循环的次数,从1开始.

    first
    如果当前循环为第一个循环,则值为true.

    last
    如果当前循环为最后一个循环,则值为true.

    rownum
    同iteration.

    loop
    显示最后一次循环的指针,可以用在section中间的任何地方,也可以用在section之后.

    show
    show决定是否显示section.

    total
    显示总共循环的次数,可以用在section中间的任何地方,也可以用在section之后.

    strip
    去掉多余的空格

  • 相关阅读:
    链表实现
    @Aspect
    mybatis plus
    using
    50道题
    梦想,青春,时间
    存储过程!!!
    事务,视图,索引
    高级查询--嵌套和相关,两套分页!!!
    学习笔记
  • 原文地址:https://www.cnblogs.com/mrray/p/2052740.html
Copyright © 2011-2022 走看看