zoukankan      html  css  js  c++  java
  • 五,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}>
  • 相关阅读:
    QT5:类总结
    QT5:控件
    QT5:事件
    杂谈感想:致毛星云大佬
    QT5:3D
    QT5:其他问题
    QT5:文件
    iOS开发小技巧
    vs2010 学习Silverlight学习笔记(24):TransForm处理图片
    vs2010 学习Silverlight学习笔记(25):综合图片应用和《功夫之王》相册
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/4961689.html
Copyright © 2011-2022 走看看