Smarty 函数注册

<?php


include "../smarty.inc.php";


$smarty->assign("data","hello");



/*
 * 		注册一个函数
 * */

$smarty->registerPlugin("function","show","show");


/*
 * 	注册一个块
 *
 * */

$smarty->registerPlugin("block","tell","tell");


$smarty->display("fun.html");






function show($args)
{
	echo '$smarty->register_Plugin(function,show,show)';
}

function tell($args,$content)
{
	for($i=0;$i<$args['num'];$i++)
	echo $content."<br>";
}


/*
 * 		在以前的版本里面注册函数和块是两个不同的函数,现在都是一个 registerPlugin 了,里面的第一个参数是指明注册的类型,
 * 		如果是  registerPlugion('function ')  则表明注册是一个函数,而regiterPlugin("blok")则注册是一个块
 *
 * 			在注册的函数内,前台页面调用 的时候是以标签的形式调用 的,而标签的属性都是以一个数组的形式传递到函数的参数
 * 			,所以要在函数里面得到传递过来的参数,就要用   args['属性名']如果参数得了,那么函数也就由你自己发挥了
 *
 *
 * 			其实块与函数都是一样,只不过是注册函数时,参数数 是registerPlugin('block')罢了.
 * 			不过还要注意一点,在前台标签调用的时候,传递的不再只是标签属性了,块嘛. 当家还有块里面的
 * 			内容了
 *
 *			所以两个函数的书写格式应该是
 *				function show($args){}  //参数只是用于传递标签属性
 *
 *				function tell($args,$content)  //args 接收标签属性,而$content接收的是块里面的内容
 *
 *			前台调用形式:
 *				{show num=10}
				</br>
				<font color='red'>下面是块的调用</font>


				{tell num=5}

				$smarty->registerPlugin(block,tell,tell);
				{/tell}


 *
 *
 * */


?>

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值