自建函数是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}>

相关文章:

  • 2021-12-10
  • 2022-01-19
  • 2021-06-22
  • 2021-08-23
  • 2021-08-12
  • 2022-02-06
猜你喜欢
  • 2021-06-05
  • 2022-12-23
  • 2021-06-05
  • 2021-08-29
  • 2021-10-09
  • 2022-03-08
  • 2021-09-11
相关资源
相似解决方案