TOP

视图引擎smarty 二

  条件判断语句(这些语句都是写在smarty模板中的)

    {if $name eq 'Tom'}

      Welcome Sir

    {elseif $name eq 'Wilma'}

      Welcome Ma'am

    {else}

      Welcome,whatever yu are

    {/if}

    注意:以if开始,以/if结尾,格式固定;

       eq修饰符,相当于'=='

       neq ,相当于'!=';

       gt,相当于'>';

            lt,相当于'<';

 

  循环语句section

    1. 功能多,参数多。smarty用来做循环操作的函数之一

    2.基本属性name,loop

      例如数组是二维数组$arr = array( array('age'=>'23','job'=>'computer'), array('age'=>'20','job'=>'music'));

      {section name=mark  loop=$arr}

        {$arr[mark].age}

        {$arr[mark].job}

        <br/>

      {/section}

      可以看出,格式是固定的;name相当于赋值下标,loop指定要循环输出的数组

    3.section其他属性

     3.1start 循环开始的位置;

     3.2step 决定循环的步长,例如step=2,只会遍历下标为0,2,4等的元素

     3.3max 设定循环的执行次数

     3.4show 决定是否显示该循环

 

  循环语句foreach

    语法接近PHP,而section与PHP语法相差甚大

    但是只能出来简单的数组,推荐使用

    {foreach item=ab from=$arr}

      {$ab.age}

      {$ab.job}

      <br/>

    {/foreach}

    注意:from指定循环的数组,将每一次循环出来的数据赋值给item指定的变量a  b

       $arr是二维数组,ab是$arr的值、是个一维数组

     【在smarty模板中,如果要输出变量一定要$符号】

  

  smarty引入文件

    include 把别的模板引入当前模板

    语法:{include  file="test01.tpl"  arg1=' '  arg2=' '}

    解读:

      1.file指定引入的模板位置;引入的模板,相当于成为了当前模板的一部分,当当前模板展示时,引入模板也会展示;

      2.除了file参数外,其他的参数名称不固定;这部分参数变量只能在被引入的的模板中调用,【当前模板不能调用】!

 

    

 

posted @ 2015-10-31 15:00  RocketV2  阅读(137)  评论(0编辑  收藏  举报