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}>

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

<?phprequire_once "./libs/Smarty.class.php";$smarty=new Smarty();$smarty->left_delimiter="<{";$smarty->right_delimiter="}>";//自定义函数1function test1($args){$str="";for($i=0; $i<$args['times'];$i++){$str.="<font color='".$args['color']."'size ='".$args['size']."'>".$args['con']."</font>".'<br/>';}return $str;}//自定义函数2function 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文件

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

<?phpfunction 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内建函数和自定义插件函数的使用

相关文章:

你感兴趣的文章:

标签云: