码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-08 18:18:25      阅读:117      评论:0      收藏:0      [点我收藏+]

标签: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)

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

标签:smarty

原文地址:http://blog.csdn.net/mycodedream/article/details/44942257

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!