smarty内建函数和自定义插件函数的使用

smarty模板里面需要用到一些他的内建函数,还有一些我们需要自定义的函数。

如:config_load file,smarty.server.SERVER_NAME等。

还有一些自定义函数:要我们利用最基本的结构自己去构建。

如下所示:

<h1>内建函数</h1>
<{foreach from=$var5 item=temp}>
<{$temp}>
<{/foreach}>
<br/>
<{foreach from=$var6 item=temp key=k}>
<br/><{$temp}><br/>
<{$k}>
<{/foreach}>
<br/>
<{foreach from=$var8 item=temp}>
	<{foreach from=$temp item=val key=k}>
		<{if $k!='city1'}>
		<{$val}>====
		<{/if}>
		<{/foreach}>
<{/foreach}><br/>
<{if $p>10}>
	This is a number > 10
<{else}>
	This is a number < 10
<{/if}>



普通的函数和块状函数注册如下:

<?php
	require_once "./libs/Smarty.class.php";
	$smarty=new Smarty();
	$smarty->left_delimiter="<{";
	$smarty->right_delimiter="}>";
	//自定义函数1
	function test1($args){
		$str="";
		for($i=0; $i<$args['times'];$i++){
			$str.="<font color='".$args['color']."' 
			size ='".$args['size']."'>".$args['con']."</font>".'<br/>';
		}
		return $str;
	}
	//自定义函数2
	function test2($args,$con){
		$str="";
		for($i=0; $i<$args['times'];$i++){
			$str.="<font color='".$args['color']."' 
			size ='".$args['size']."'>".$con."</font>".'<br/>';
		}
		return $str;
	}
	//$smarty->register_function("mytest1","test1");//普通注册
	$smarty->register_block("mytest2","test2");//块注册
	$smarty->display("test3.tpl");
?>

对应的模板是:

<h1>自定义函数</h1>
<{mytest2 times="100" color="red" size="5"}>
nihao
<{/mytest2}>

另外在\libs\plugins文件夹下也可以自定义插件函数,自定义插件的方式:

在文件夹下面,建立function.函数名.class文件

在对应的模板里面,直接调用就可用,不用去注册。

<?php
	function smarty_function_mytest($args,&$smart){
		$str="";
		for($i=0; $i<$args['times'];$i++){
			$str.="<font color='".$args['color']."' 
			size ='".$args['size']."'>".$args['con']."</font>".'<br/>';
		}
		return $str;
	}
	
?>

如果是块函数的话就用:function smarty_block_mytest1($args,$con)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值