smarty自定义函数用法示例

本文实例讲述了Smarty模板简单配置与使用方法。分享给大家供大家参考,具体如下:

本文实例讲述了Smarty简单生成表单元素的方法。分享给大家供大家参考,具体如下:

本文实例讲述了smarty自定义函数用法。分享给大家供大家参考,具体如下:

在Smarty目录中建立templates,templates_c,configs,cache目录。以便Smarty进行编译和缓存。

金沙js333娱乐场 ,smarty生成表单元素功能实现的原理是:给smarty一个数组,用于生成和显示菜单或选项,另外在传递一个选项的值,用于默认选择的匹配:

<?php
require_once "smarty.config.php";
//自定义一个函数
//调用方法:<{test1 times="4" size="5" con="Hello,Liuyibao!" color="red"}>
function test1($args){
$str="";
for($i=0;$i<$args['times'];$i++){
$str.="<p style='font-size:{$args['size']}em;color:{$args['color']}'>{$args['con']}</p>";
}
return $str;
}
//自定义一个块方式函数
//调用方法<{test1}><{/test1}>
function test2($args,$con){
$str="";
for($i=0;$i<$args['times'];$i++){
$str.="<p style='font-size:{$args['size']}em;color:{$args['color']}'>{$con}</p>";
}
return $str;
}
//定义一个计算方法
function jisuan($args){
switch($args['operate']){
case "+" :$res=$args['num1']-$args['num2'];break;
case "-" :$res=$args['num1']-$args['$num2'];break;
case "*" :$res=$args['num1']*$args['$num2'];break;
case "/" :$res=$args['num1']/$args['$num2'];break;
}
return $res;
}
//注册一下
$smarty->register_function("liuyibao","test1");
//注册块函数
$smarty->register_block("liuyibao2","test2");
//注册函数jisuan
$smarty->register_function("jisuan","jisuan");
//替换变量
$smarty->display("function.tpl");
?>

建立smarty_inc.php文件对smarty进行配置如下:

示例如下:

PS:这里推荐几款本站的格式化/美化/转换工具可以帮助你整理杂乱无章的代码,相信大家在以后的开发中能够用得上:

<?php
include_once("./smarty/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->caching=false; //开发是不建议开启缓存
$smarty->template_dir="./templates";  //设置模板目录
$smarty->compile_dir="./templates_c";  //设置编译目录
$smarty->cache_dir="./cache";  //缓存文件夹
$smarty->cache_lifetime=60;
$smarty->left_delimiter = "<{";  //左定界符
$smarty->right_delimiter = "}>"; //右定界符
?>

php文件:index.php

php代码在线格式化美化工具:

行测试,在根目录下建立index.php文件:

<?php 
include("smarty_inc.php");
$smarty->assign('cust_ids',array(1000,1001,1002,1003));
$smarty->assign('cust_names',array('丁庆','闫磊','吕东','宋子健'));
$smarty->assign('customer_id',1003);
$smarty->display("index.html");
?>

JavaScript代码美化/压缩/格式化/加密工具:

<?php 
include("smarty_inc.php");
$val= array("丁庆","董丹凤","情侣");
$smarty->assign("name",$val);
$smarty->display("index.html");
?>

模板文件:index.html

在线XML格式化/压缩工具:

发表评论

电子邮件地址不会被公开。 必填项已用*标注