在ecshop模板使用自定义函数

可以增加自定义函数,在模板直接调用,例如: {$userId|get_user_name} 或 {$imgUrl|set_width_height:100:200}

案例一(处理图片):

1.模板里使用{$imgurl|getpic:100:200}

2.includes/lib_base.php里面增加函数

 function getpic($str, $width, $height){ $len= stripos($str, ‘.‘); if($len !== false){ $str= substr($str, 0, $len).‘_‘.$width.‘-‘.$height.stristr($str, ‘.‘); return $str; } else{ return ‘/images/blank.gif‘; } }

3.includes/cls_template.php里624行

case ‘strip_tags‘: $p = ‘strip_tags(‘ . $p . ‘)‘; break;  后面增加处理函数  case ‘getpic‘: $p = ‘getpic(‘ . $p . ",$s[1],$s[2])"; break;

案例二(根据地区ID返回名称):

1.模板里使用{$provinceId|get_region_name}

2.includes/lib_base.php里面增加函数

function get_region_name($id){ $id = intval($id); $sql = "SELECT region_name FROM " . $GLOBALS[‘ecs‘]->table(‘region‘) . " WHERE region_id = $id"; $list = $GLOBALS[‘db‘]->getRow($sql, true); return $list[‘region_name‘]; }

3.includes/cls_template.php里624行

case ‘strip_tags‘: $p = ‘strip_tags(‘ . $p . ‘)‘; break;  //后面增加处理函数:开始 case ‘get_region_name‘: $p = ‘get_region_name(‘ . $p . ")"; break; //后面增加处理函数:结束  default: # code... break;
时间: 2024-11-09 05:19:01

在ecshop模板使用自定义函数的相关文章

四、smarty模板的自定义函数

smarty模板的自定义函数(这里介绍的是常用) 分为三个种类: 1.  变量调节器 2.  函数 3.  块函数 三个种类插件的用法: 1.  变量调解器的用法, <{$var|myfun:arg1:arg2}> 2.  函数的用法(和使用HTML标记很像) 如, <{myfun color=”red” size=”7” num=”7”}> 在PHP中定义的函数为: $smarty->registerPlugin(“function”,”myfun”,”one”); fun

Django 模板之自定义函数

我们已经知道了在Django的模板里面,可以使用for循环,if判断,接收后台的数据,还可以通过 extends和include来重复使用其他的模板,这一节来学习如何自定义函数. 模板里面有两种方式来自定义函数,分别是simple_tag和 filter方式. simple_tag: 1 首先在app下创建一个templatetags的目录,然后在这个目录下面创建一个py文件,注意这个目录的名字是固定的 2.  然后在这个py文件里面,导入模板类,实例化一个对象register,然后执行一个装饰

模板语言 自定义函数simple_tag

模板语言自带的一些处理函数:通过管道符来处理 帮助方法:{{ item.event_start|date:"Y-m-d H:i:s"}}  转换成日期时间型{{ bio|truncatewords:"30" }} 只取前30个字符{{ my_list|first|upper }} 将第一个字母大写{{ name|lower }} 全转换小写 有时我们须要自定义函数: a.在app中创建templatetags模块 b.创建任意 .py 文件,如:xx.py 1 2

Golang通过自定义函数实现模板的包含

Golang通过自定义函数实现模板的包含 Golang原生不支持例如revel中指令{{ template "header.html" }} ? 1 package main import ( ? 1 2 3 4 "html/template" "log" "os" "io/ioutil" ) func main() { ? 1 2 3 s := ParseTmplateToStr("src/1.

PHP Smarty 模板 自定义函数function和块函数block

自定义函数 function.yangA.php页面 采用插件形式调用 <?php /*  * 文件名    * function.函数名.php    function.yangA.php  * 声明的函数名规则  * smarty_function_函数名()  smarty_function_yangA  * 参数  * 1.数组 array  * 2.smarty  * 模板使用  * <{yangA content="I am Mr.Yang" color=&qu

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

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

类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器

 1.第一个最简单的类模板案例 #include "mainwindow.h" #include <QApplication> #include <QPushButton> #include <QLabel> template<class T> class run { public: T w; void show() { w.show(); } void settext() { w.setText("A"); }

模板自定义函数 template function

sqlite3中的日期默认是UTC,当日期字段的默认值是CURRENT_TIMESTAMP时,这个日期和北京时间CST少了8小时. 网上建议说数据库里用UTC,读取数据时再转换为当地时间. web页面中的日期如创建日期通常是需要“格式化”一下的,否则显示出来是这个样子: 2017-08-17 08:50:37 +0000 UTC 在go template中可以使用管道,自定义一个日期函数即可. 其实这个函数很简单,关键就是要用Local函数: func formatDate(t time.Tim

ECShop模板原理

模板的原理 类似Smarty/ECShop这类模板的原理如下图所示. 1.首先是编译模板ECShop/Smart是利用PHP引擎,所以编译的结果是一个PHP文件,其编译过程就是 将分隔符{}替换成PHP的标准分隔符<?PHP ?>,将$var替换成 echo $var; 或者print $var;将其他的比如foreach和if等也替换成标准的PHP语法.将{include file…}之类的则替换成标准的PHP的inlcude …其余都是等效替换. 2.其次是生成编译结果 编译结果是PHP文