1、PHP 自定义函数
(1)、自定义函数
编写函数然后在模板中注册
//$_arr表示参数的数组
function fn_info($_arr){
return "你的年龄是:".$_arr['age']."岁,身高:".$_arr['height']."血型:".$_arr['blood'];
}
//注册函数
//两个参数参数一为模板的函数名参数二为php的函数名
$_smarty->register_function('info','fn_info');
在HTML中显示
{info age=28 height=178 blood=A}
效果:
(2)、块函数
编写函数然后在模板中注册
//块函数
function bk_textshao($_arr,$_content){
//判断是否加粗
if($_arr['bold'])
{
$_content="<span style='color:".$_arr['color'].";font-size:".$_arr['fontsize'].";font-weight:bold'>$_content</span>";
}
else
{
$_content="<span style='color:".$_arr['color'].";font-size:".$_arr['fontsize']."'>$_content</span>";
}
return $_content;
}
//注册块
$_smarty->register_block("textshao",'bk_textshao');
在HTML中使用
{textshao color=red fontsize=40px bold=true}
这是一个块
{/textshao}
效果:
2、插件函数
按插件形式扩展的自定义函数
(1).如 果 是 函 数 插 件 , 文 件 必 须 放 在 插 件 目 录 (plugins) , 文 件 名 必 须 是
function.xxx.php,里面的函数名必须是smarty_function_xxx(params,&smarty)。
(2).如果是块插件,文件必须放在插件目录(plugins),文件名必须是block.xxx.php ,
里面的函数名必须是smarty_block_xxx(
params,
content,&$smarty)。
函数插件:
在plugins文件夹里新建function.info.php文件
<?php
function smarty_function_info($_arr) {
$_a = '';
if ($_arr['show']) {
$_a = "您的年龄是:{$_arr['age']}岁,身高:{$_arr['height']},血型:{$_arr['blood']}";
}
return $_a;
}
?>
在HTML中使用
{info age=28 height=178 blood=A}
效果:
块插件
在plugins文件夹里新建block.textshao.php文件
function smarty_block_textshao($_arr, $_content) {
if ($_arr['bold']) {
$_content = "<span style='color:{$_arr['color']};font-size:{$_arr['fontsize']};font-weight:bold;'>$_content</span>";
} else {
$_content = "<span style='color:{$_arr['color']};font-size:{$_arr['fontsize']};'>$_content</span>";
}
return $_content;
}
在HTML中使用
{textshao color=red fontsize=40px bold=true}
这是一个块
{/textshao}
效果: