• smarty 模板几个例子(变量调节器)


    一、assign和display方法的使用以及几个变量调节器

    header("content-type:text/html;charset=utf-8");
    //加载Smarty引擎文件
    include "./smarty/Smarty.class.php";

    //连接数据库,提取相关数据
    $title = "Smarty 模板引擎";
    $content = "Smarty 模板引擎Smarty 模板引擎Smarty 模板引擎";

    //实例化Smarty
    $smarty = new Smarty;

    //通过assign方法给模板文件分配变量
    $smarty->assign('title',$title);
    $smarty->assign('content',$content);
    //给模板分配一个数组变量使用
    $person = array('自来也',33);
    $smarty->assign('person',$person);

    //给模板分配一个对象变量使用
    class Person{
    public $name;
    public $age;
    }
    $per = new Person;
    $per->name = '辉夜';
    $per->age =555;

    $smarty->assign('per',$per);

    /** 变量调节器
    *所谓的变量调节器其实就是变量修饰器,就是对PHP分配过来的变量加以“修饰”,也就是进行相关的格式化操作!然后再进行输出!
    *不同的调节器有不同的名字,可以完成不同的功能,并且不同的调节器都有自己不同的参数!
    {$变量名|调节器名:参数1:参数2:参数3……}
    *
    *如date_format
    *作用:对时间戳进行格式化!参数有很多,但是主要的参数还是代表年月日时分秒的参数!
    *{$变量名(时间戳)|date_format:‘%Y-%m-%d %H:%M:%S’}
    */
    $time = time();
    $smarty->assign('time',$time);

    //去掉js和html等相关的标签!strip_tags
    $str = '<b>六道</b>';
    $smarty->assign('str',$str);

    /**
    *nl2br
    *{$变量名| nl2br}
    *作用:将字符串中的 转换为<br />签,从而在显示的时候真正的实现换行的效果!
    */

    $str1 = "广州市 天河区";
    $smarty->assign('str1',$str1);

    /**truncate
    *{$变量名|truncate:字符串长度:’…’}
    *作用:只截取前多少多少的字符,后面用…代替!
    */
    $str2 = "广州市天河区广州市天河区广州市天河区广州市天河区";
    $smarty->assign('str2',$str2);

    //通过display 方法替换模板中的标记并输出
    $smarty->display('./templates/index1.tpl');

    index1.tpl文件

    <html>
    <head>
    <title>测试</title>
    </head>
    <body>
    {*这里是注释内容,不会显示在浏览器端*}
    {$title}<hr />
    {$content}<hr />

    {*模板标记是一个数组*}
    姓名:{$person[0]}<br />
    年龄:{$person[1]}<hr />

    {*模板标记是一个对象*}
    姓名:{$per->name}<br />
    年龄:{$per->age}<br />

    {*变量调节器 date_format 格式如下*}
    变量调节器 date_format:{$time|date_format:'%Y-%m-%d %H:%M:%S'}<br />

    {*变量调节器 strip_tags 格式如下*}
    {$str|strip_tags}<br />

    {*变量调节器 nl2br 格式如下*}
    {$str1|nl2br}<br />

    {*变量调节器 truncate 格式如下*}
    {$str2|truncate:10:'...'}<br />
    </body>
    </html>

    二、foreach遍历数组测试以及if elseif 例子

    header("content-type:text/html;charset=utf-8");
    //加载Smarty引擎文件
    include "./smarty/Smarty.class.php";
    //实例化Smarty
    $smarty = new Smarty;

    $arr = array('name'=>'辉夜',
    'age'=>'333',
    'home'=>'月亮',
    'son'=>'六道'
    );
    $smarty->assign('arr',$arr);

    $day = 4;
    $smarty->assign('day',$day);
    //通过display 方法替换模板中的标记并输出
    $smarty->display('./templates/foreach.tpl');

    foreach.tpl 文件

    <html>
    <head>
    <title>foreach遍历数组测试</title>
    </head>
    <body>
    {* 
    {foreach from=数组名 item=元素的值的名 key=元素的键名 name=名称}
    {foreachelse}
    {/foreach}

    主要功能:用于数组元素的遍历!
    from:要遍历哪个数组元素(必选项)
    item:系统每次将遍历的结果放入到变量item中(必选项)
    key:键名
    name:给本次foreach遍历起一个名字

    *}
    {foreach from=$arr item='value' key='key' name='name1'}
    {$key}=>{$value}<br />
    {/foreach}


    {if $day==1}
    星期1
    {elseif $day==2}
    星期2
    {elseif $day==3}
    星期3
    {elseif $day==4}
    星期4
    {elseif $day==5}
    星期5
    {else}
    周末
    {/if}

    </body>
    </html>

  • 相关阅读:
    spring-boot集成1:起步
    策略模式实现多种支付方式
    自定义切面实现记录系统操作日志
    Spring Kafka
    使用Keepalived实现Nginx高可用
    Centos7桥接网络、DNS、时间同步配置
    jmeter随笔(1)-在csv中数据为json格式的数据不完整
    (续篇3):飞测独家のJmeter秘籍,限量发放
    紧张:飞测独家のJmeter秘籍,限量发放(续篇2)
    紧张:飞测独家のJmeter秘籍,限量发放
  • 原文地址:https://www.cnblogs.com/apolloren/p/8747517.html
Copyright © 2020-2023  润新知