zoukankan      html  css  js  c++  java
  • smarty模板自定义变量调节器

    在smarty里有一些已经定义好的变量调节器,如关于时间的:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
     
    <body>
     
     
    <!--显示当前时间戳-->
    <{$smarty.now}>
         
    <!--调用调节器显示想要的时间格式-->
    <{$smarty.now|date_format:"%Y-%m-%d %H-%M-%S"}>
     
    </body>
    </html>

    但是这些调节器并不是很好用,每次都要从手册中找,很麻烦。鉴于此,smarty支持自定义的变量调节器,所以我们随时可以自定义一些常用的调节器,以后用到时直接调用就可以了。

    1、时间变量调节器 modifier.time.php:

    <?php
        //用来格式化时间日期
    function smarty_modifier_time($str){
        return date("Y-m-d H:i:s",$str);
    }
    ?>

    test.html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
     
    <body>
     
        <!--调用自定义的变量调节器-->
        <{$smarty.now|time}>
     
    </body>
    </html>

    2、截取字符串的变量调节器 modifier.jiequ.php:

    <?php
     
    function smarty_modifier_jiequ($str,$cd,$sl){
    //  第一个参数:是传过来的变量,必须有
    //  第二个参数:是截取多长
    //  第三个参数:是要代替后面的省略符号
         
        $str = substr($str,0,$cd);
        return $str.$sl;
    }
    ?>

    str.php:

    <?php
        header("content-type:text/html;charset=utf-8");
        //引入smarty类
    require "../init.inc.php";
     
    //数组类型
    $arr =array("one"=>"1111","two"=>"2222");
     
     
    //注册变量
    $smarty->assign("ceshi","大家好啊你是谁啊"); 
     
     
    $smarty->assign("haha","12345678901234567890");
     
     
    $smarty->assign("nnn","abcdefghijklmnopqrstuvwxyz");
    //显示
    $smarty->display("test.html");
    ?>

    test.html:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
     
    <body>
         
            <{$ceshi|jiequ:"12":"..."}>
                 
            <{$haha|jiequ:"10":"..."}>
                 
            <{$nnn|jiequ:"10":"..."}>
             
     
    </body>
    </html>
  • 相关阅读:
    团购的玩法 要粘性也要乐趣
    风讯CMS提交时出现System.Web.HttpRequestValidationException (0x80004005):错误
    关于传统零售企业网上经营模式的探讨
    一个很漂亮的转入别的页面时等待页
    采集百度图片
    带有立体感的凹陷字体,非常夺人眼球
    sql2005 远程连接问题解决方法
    草根创业:接纳与淘汰终归“剩”者为王
    写一个属于自己的模板引擎(1)
    写一个属于自己的模板引擎(2)
  • 原文地址:https://www.cnblogs.com/mengshenshenchu/p/7110429.html
Copyright © 2011-2022 走看看