在smarty模板中使用PHP函数的方法

sample1 
复制代码 代码如下:
<{$colname|trim}>

那如果使用像iconv这样的有三个参数的函数该怎么写呢?如果写成:
sample 2
复制代码 代码如下:
<{$colname|iconv:'utf-8':'gbk'}>

一执行就会发现显示error信息。
因此研究一下就会发现,起始在smarty模板页的套用函数用法中,以smaple 1来说,trim的前面$Row->colname其实就是trim的第一个参数,中间用|这个符号串接;
那假设要使用像iconv有三个参数的函数的话,就要写成:
sample 3
复制代码 代码如下:
<{'utf-8'|iconv:'gbk':$colname}>

也就是
函数第一个参数|函数:第二个参数:第三个参数。sample 3中会把colname的值从utf-8格式转换成gbk。
 
smarty 执行php代码 调用php函数 虽违背smarty但不失灵活,有时候也在SMARTY中也不得不使用PHP的相关函数和一些语句的



PHP Code复制内容到剪贴板

{php}
echo "alert('here is php method run ~!');";
{/php}
因为应用需要,要在Smarty中调用PHP函数,实现办法如下:
模板
数据条数:{$data|count}
活动页面文件后缀:{$page|substr:'-3'}
特殊情况:{$page|str_replace:'jpg':'png'}
对应php实现
count($data);
substr($page, -3);
str_replace('jpg', 'png', $page);

smarty 模板中使用对象,使用对象方法


PHP Code复制内容到剪贴板

后台
class aa{
public function objecho(){
return isManager();
}
}
$objaa = new aa();
$objTemplate->assign("objaa",$objaa);


tpl中
{assign var="ismanager" value=$objaa->objecho()}
{$ismanager}



上一篇:ESS控制台发布新功能:创建多实例规格的伸缩配置


下一篇:eclipse上搭建maven多模块Java Web项目