代码改变世界

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

  狼人:-)  阅读(2130)  评论(0编辑  收藏  举报
复制代码
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}
复制代码



编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示