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

  1. 在smarty模板中如果要在显示的资料使用php函数时,如果是只有一个参数的函数比如说去空白的trim会写成
  2. sample1
  3. 代码如下:
  4. <{$colname|trim}>
  5. 那如果使用像iconv这样的有三个参数的函数该怎么写呢?如果写成:
  6. sample 2
  7. 代码如下:
  8. <{$colname|iconv:‘utf-8‘:‘gbk‘}>
  9. 一执行就会发现显示error信息。
  10. 因此研究一下就会发现,起始在smarty模板页的套用函数用法中,以smaple 1来说,trim的前面$Row->colname其实就是trim的第一个参数,中间用|这个符号串接;
  11. 那假设要使用像iconv有三个参数的函数的话,就要写成:
  12. sample 3
  13. 代码如下:
  14. <{‘utf-8‘|iconv:‘gbk‘:$colname}>
  15. 也就是
  16. 函数第一个参数|函数:第二个参数:第三个参数。sample 3中会把colname的值从utf-8格式转换成gbk。
时间: 2024-09-29 14:04:32

在smarty模板中使用PHP函数的方法的相关文章

Thinkphp模板中使用自定义函数的方法

注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### } 说明: { 和 $ 符号之间不能有空格,后面参数的空格就没有问题: ###表示模板变量本身的参数位置 : 支持多个函数,函数之间支持空格 : 支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表 : 支持变量缓存功能,重复变量字串不多次解析. 使用例子: {$webTitle|md5|st

ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: 对于字符串的截取,truncate函数只适合英文用户,对与中文用户来说,使用 truncate会出现乱码,而且对于中文英文混合串来说,截取同样个数的字符串,实际显示长度上却不同,一个中文的长度大致相当于两个英文的长度.此外,truncate不能同时兼容GB2312.UTF-8等编码. 解决方法:自

在smarty模板中嵌入php代码

我个人并不太喜欢smarty的语法,写起来比较啰嗦易出现匹配出错,但是旧项目中有许多工程都是采用它作模板.最近需要在此上稍微加一些PHP的内容,但我不想在模板控制层去一个一个assign,而想在模板文件中直接嵌入PHP的代码. 搜索了一下smarty中确实有直接使用PHP代码的标签,是 {php}//PHP语句 echo 'yes';{/php} 于是便用上它了.但注意这是默认的方式,如果你自定制了smarty标签的定界符,那么也得将{ 和 }进行相对应的改动. 我看到有些是用<?  ?>作定

smarty模板中获取页面参数

{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间邮戳.直接访问PHP中的常量.从配置文件中读取变量等.该保留变量中的部分访问介绍如下. 1.在模板中访问页面请求变量 我们可以在PHP脚本中,通过超级全局数组$_GET.$_POST.$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可以通过$_COOKIE或$_SESSION在多个脚本之间跟踪变量,或是通

SMARTY模板中如何使用get,post,request,cookies,session,serv

{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中的常量.从配置文件中读取变量等. 1.在模板中访问页面请求变量 我 们可以在PHP脚本中,通过超级全局数组$_GET.$_POST.$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可以通 过$_COOKIE或$_SESSION在多个脚本之间跟踪变量,或是通过$_ENV和$_SERVER

在复数类模板中使用友元函数实现复数相加

程序代码(这段代码在vc6.0中不能编译通过,在VS中能编译通过) <span style="font-size:18px;">#include <iostream> using namespace std; template<class T>//类声明前加模板的声明 class Complex { public: Complex( ) { real=0; imag=0; } Complex(T r,T i) { real=r; imag=i; }

Smarty模板中使用get、post、request、cookies、session变量的方法

一.在模板中访问页面请求变量 我 们可以在PHP脚本中,通过超级全局数组$_GET.$_POST.$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可以通 过$_COOKIE或$_SESSION在多个脚本之间跟踪变量,或是通过$_ENV和$_SERVER获取系统环境变量.如果在模板中需要这些数组,可 以调用Smarty对象中的assign()方法分配给模板.但在Smarty模板中,直接就可以通过{$smarty}保留变量访问这些页面请求变量. 在模板中使用的示例如下所示: PHP代码

在artTemplate的标签中使用外部函数的方法

第一步,声明函数,并将函数作为data对象的属性.例如: var resArray = new Array(); function beforeRender(data) { //addToArray为想在template的标签中执行的函数 var addToArray = function(id, rec){ resArray[id] = rec; }; data.addToArray = addToArray; } function submit(){ $.ajax({ type : "POS

[smarty] 在smarty模板中使用smarty变量初始化 javascript 变量的问题

// 总结:// 1/ 在smarty 模板文件中,使用从php中assign过来的smarty变量,一定需要使用双引号或单引号来括住smarty变量,如:var title="<!--{$title}-->";// 2/ 如果不使用引号括住,在smarty变量值为字符串的情况下,那么该字符串在javascript中会被作为javascript变量来解释,所以就会产生错误.// 3/ 变量值是数字,那么则不会产生错误// tpl 文件 <script> if(n