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)
而是自己。在你成功地把自己推销给别人之前,