zoukankan      html  css  js  c++  java
  • 在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}



    声明:此博有部分内容为转载,版权归原作者所有~
  • 相关阅读:
    (转)读《从0到1》
    做事需要愿景,产品都是人思想的投射
    sed 替换有单引号的行
    删除iptables nat 规则
    解决yum安装 openssl-devel时产生的Multilib version problems found错误(转)
    docker 私有仓库 harbor docker-compose
    kubernetes 比较好的案例-创建tomcat-mysql集群 mysql.yaml + workpress.yaml
    配虚拟ip脚本
    kubenetes 1.9 学习 pod
    解决sql和beans中名字不一致问题
  • 原文地址:https://www.cnblogs.com/waw/p/2275417.html
Copyright © 2011-2022 走看看