• 五,Smarty模板技术/引擎——自定义函数机制


    自建函数是smarty提供的函数,不允许修改,只能被调用;

    自定义函数是自己编写函数,注册成为smarty的函数,之后可以被调用;

    示例:使用smarty自定义函数的机制,编写一个函数myfun1,通过调用该函数(可以输入必要的参数),完成循环输出5次“hello,顺平”,要求内容,颜色,字体大小均可置顶。

    (1)自定义函数

    //编写自定义函数
    function test1($args){
        $str = "";
        for($i = 1;$i<= $args['times'];$i++){
            $str .= "<font size='{$args['size']}' color='{$args['color']}'>{$args['con']}</font><br/>";
        }
        return $str;
    }
    
    //注册自定义函数
    $smarty->register_function("lhy1","test1");
    <{*tpl中引用自定义函数*}>
    <{lhy1 times="5" size="5" con="Hello,顺平" color="red"}>

    (2)自定义块

    //编写自定义函数
    function test2($args,$con){
        $str = "";
        for($i = 1;$i<= $args['times'];$i++){
            $str .= "<font size='{$args['size']}' color='{$args['color']}'>{$con}</font><br/>";
        }
        return $str;
    }
    
    //注册自定义函数
    $smarty->register_block("lhy2","test2");
    
    <{lhy2 times="5" size="5" color="red"}>
        Hello,顺平
    <{/lhy2}>

    (3)利用samrty插件形式增加自定义函数

    在smarty包中plugins文件夹下,新建一个文件function.lhy4.php。

    文件名的格式:function.自定义函数名.php

    function.lhy4.php代码页内容如下,

    函数的名字:function smarty_function_自定义函数名($params, &$smarty)。

    <?php
    
    
    function smarty_function_lhy4($params, &$smarty){
        $str = "";
        for($i = 1;$i<= $params['times'];$i++){
            $str .= "<font size='{$params['size']}' color='{$params['color']}'>{$params['con']}</font><br/>";
        }
        return $str;
    }
    
    <{lhy4 times="5" size="5" con="Hello,顺平" color="red"}>

    (4)利用samrty插件形式增加自定义块

    在smarty包中plugins文件夹下,新建一个文件function.lhy5.php。

    文件名的格式:block. 块名.php

    function.lhy4.php代码页内容如下,

    函数的名字:function smarty_block_块名($params,$content, &$smarty)。

    <?php
    function smarty_block_lhy5($params, $content, &$smarty){
        $str = "";
        for($i = 1;$i<= $params['times'];$i++){
            $str .= "<font size='{$params['size']}' color='{$params['color']}'>{$content}</font><br/>";
        }
        return $str;
    }
    
    <{lhy5 times="5" size="5" color="red"}>
    Hello,顺平
    <{/lhy5}>
  • 相关阅读:
    实现三联tab切换特效
    SQL Server对数据进行添加
    SmartUpload实现文件上传
    JavaScript图片轮播,举一反三
    SQL Server对数据进行删除
    用SQL Server查询所有数据并显示
    SQL Server日期格式化
    用SQL Server验证用户名和密码
    SQL Server存储过程作业(三)
    SQL Server存储过程作业(二)
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/4961689.html
Copyright © 2020-2023  润新知