ecmall时间的问题
$time1 = date("Y-m-d H:i:s", gmtime());
$time = date("Y-m-d H:i:s", time());
//gmtime获取到的时间比当前时间少了8小时,在模板里显示的时候使用{$goods_detail.description|date:complete"}
http://www.nowamagic.net/librarys/veda/detail/1482
在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词就是标签名。在标签单元中单词前含"$"(美元符)的为变量名。
资源引用
res标签
功能:返回当前模板当前风格目录的url路径
实例:{res file=css/ecmall.css}这个标签在模板编译后将变成http://商城域名/themes/default/styles/default,注意末尾没有"/",返回结果会随后台设置的主题变化
lib标签
功能:返回javascript库的url路径
实例:{lib file=ecmall.js}这个标签在模板编译后将变成http://商城域名/includes/libraries/javascript,注意末尾没有"/",返回结果不会随后台设置的主题变化
url标签
功能:url解析器,可根据后台伪静态状态返回相应url等。
说明:如果一个链接的目标页面需要伪静态功能,请使用该url标签,只有当后台开启伪静态并在.htaccess文件为目标页面设置了伪静态规则时url标签才能解析为静态url地址。
实例:{url app=goods&id=$goods_id}解析后如果伪静态成功则返回"goods/19"
include标签:include 标签用于在当前模板中包含其它模板。当前模板中的变量在被包含的模板中可用。必须指定 file 属性,该属性指明模板资源的位置。实例:
模板变量
1. 模板保留变量
模板预置的一些系统变量,包括
$smarty.now 当前时刻对应的格林尼治时间戳,可以用{$smarty.now|date}显示当前日期时间,关于date变量调节器请看下文讲解。
$smarty.get $smarty.post $smarty.cookie $smarty.env $smarty.server $smarty.request $smarty.session同php 的$_GET、$_POST、$_COOKIE、$_ENV、$_SEVER、$_REQUEST、$_SESSION变量。非程序人员如果需要了解请参 考php相关手册了解。
2. 自定义变量
从php赋值变量。例如在调用该模板的app程序文件中进行赋值
在themes/mall/default/index.html中显示变量
在模板中赋值变量。assign标签,例在themes/mall/default/index.html中赋值变量
3.模板上使用语言项
说明:为了满足多语言需求,ECMall采用了语言包机制,除挂件外,在模板、js文件中均使用语言项代替直接显示语言文字。
语言文件:语言文件位于商城根目录下的languages目录下,为当前语言建了一个目录,如果您用的是sc-gbk版本,则会有sc-gbk目 录,进去之后就能看到属于前台控制器的全部语言文件了。除common.lang.php属于所有app外,每一个语言文件都只属于一个 app(ECMall中称为控制器)。语言文件属于某个控制器而不属于某个模板,同一个模板如果被不同控制器调用将使用不同语言文件进行语言解析。
在默认控制器对应的语言文件default.lang.php添加语言项"test":
在index.html模板中显示语言项"test"
模板中还支持数组形式语言项,在默认控制器对应的语言文件default.lang.php添加语言项"test_array"
在index.html模板中显示语言项"test"
4. 变量调节器
* escape
功能:提供各种编码功能。
参数:可选参数html、url、quotes、input、editor,缺省为html html:分别替换变量中的如下字符& < > "为其html实体代码,用于按原样输出html源代码。
url:如果该变量用于储存url地址,需要进行url编码
quotes:在单双引号字符前添加反斜杠
input:给输入框赋值时使用
editor:当显示通过文本编辑器录入的内容,需要用此参数
例如php赋值:
模板
输出结果为
* nl2br
功能:将换行符替换成<br />
* default
功能:为变量设置一个默认值,当变量为空或者未分配的时候,将由默认值替代输出
* truncate
功能:字符串截取。从字符串开始处截取某长度的字符。默认会在末尾追加省略号。
* strip_tags
功能:去除<和>标签,包括在<和>之间的任何内容。
* price
功能:格式化价格。
输出结果为:¥123,456.00
* date
功能:格式化本地时间和日期。
格式:{$var|date:format}
说明:变量$var必须是格林尼治标准时间,php中gmtime()和模板中$smarty.now得到的都是格林尼治标准时间,参数format可为simple、complete或自定义日期格式,缺省为simple。
输出结果为:
* modifier
功能:调用php自定义函数。
格式:{$var|modifier:user_func}
流程控制标签
1. 条件判断(if,elseif,else)
模板中的 if 语句和 php 中的 if 语句一样灵活易用,并增加了几个特性以适宜模板引擎. if 必须于 /if 成对出现. 可以使用 else 和 elseif 子句. 可以使用以下条件修饰词:eq、ne/neq、gt、lt、lte/le、gte/ge、mod、not、==、!=、>、<、& lt;=、>=、%、!使用这些修饰词时必须和变量或常量用空格格开.
多个条件之间用 and、or、&&、|| 连接,实现简单的逻辑运算
2. 数组遍历(foreach,foreachelse)
foreach 用于处理简单数组(数组中的元素的类型一致)。foreach 必须和 /foreach 成对使用,且必须指定 from 和 item 属性。foreach 可以嵌套,但必须保证嵌套中的 foreach 名称唯一。foreachelse 语句在 from 变量没有值的时候被执行。
from 属性:指定被循环的数组,数组长度决定了循环的次数。item属性:单个循环项目的变量名,在循环内部使用。name 属性为可选属性,可以任意指定(字母、数字和下划线的组合)。
name 属性如果指定,foreach循环体内会自动生成如下变量
$smarty.foreach.foreach_name.index表示本次循环索引,从0开始递增的整数
$smarty.foreach.foreach_name.iteration表示本次的循环次数,从1开始递增的整数
$smarty.foreach.foreach_name.first表示是否是第一次循环
$smarty.foreach.foreach_name.last表示是否是最后一次循环
$smarty.foreach.foreach_name.show表示是否有数据
$smarty.foreach.foreach_name.total表示循环总次数,也可在循环体外使用
输出结果为:
模板代码:
输出结果为:
显示标签
* cycle
cycle 用于轮转使用一组值。该特性使得在表格中交替输出颜色或轮转使用数组中的值变得很容易。
格式:{cycle values="val1,val2,val3..."}
输出结果为:
* html_options
自定义函数 html_options 根据给定的数据创建选项组. 该函数可以指定哪些元素被选定. 要么必须指定 values 和 ouput 属性,要么指定 options 替代。
模板代码:
模板代码:
实例1和实例2输出结果均为:
* html_radios
自定义函数 html_radios 根据给定的数据创建单选按钮组。该函数可以指定哪个元素被选定。要么必须指定 values 和 ouput 属性,要么指定 options 替代。与html_options不同的是html_radios有一个checked属性。
* html_checkbox
自定义函数 html_checkboxes 根据给定的数据创建复选按钮组。该函数可以指定哪些元素被选定。 要么必须指定 values 和 ouput 属性,要么指定 options 替代.。与html_options不同的是html_checkbox有一个checked属性。
* sprintf
说明: 对变量进行格式化。
格式{sprintf lang=my_lang var1=my_var1 var2=my_var2 ...}
在语言文件添加语言项:
模板中显示:
输出结果为:
1页面执行 0.160 秒, 查询 3 次,在线 10 人
ecmall时间的问题的更多相关文章
- ecmall模板语法
ECMall的模板解析语法介绍 用"{"开头,以"}"结尾就构成一个标签单元 在 2011年07月19日 那天写的 已经有 19105 次阅读了 感谢 ...
- ECMALL目录结构设置与数据库表
[Ecmall]ECMALL目录结构设置与数据库表 最近在做ecmall的开发,ecmall在开源方面还有待进步啊,官方没有提供开发文档,也没有关于系统架构组织的贡献,使用者都要自己从0开始,官方 ...
- [Ecmall]ECMALL目录结构设置与数据库表
最近在做ecmall的开发,ecmall在开源方面还有待进步啊,官方没有提供开发文档,也没有关于系统架构组织的贡献,使用者都要自己从0开始,官方论坛连二次开发板块都没有,都在哪瞎扯淡,广告一堆.可悲~ ...
- ECMall关于数据查询缓存的问题
刚接触Ecmall的二次开发不久,接到一个任务.很常见的任务,主要是对数据库进行一些操作,其中查询的方法我写成这样: 01 function get_order_data($goods_id) 02 ...
- 【Ecmall】ECMall2.x模板制作入门系列(认识ECMall模板)
ECMall2.x模板制作入门系列之1(认识ECMall模板) 从ECMall2.0全新架构发布以来,随着版本的不断更新,ECMall已经逐渐走向一个稳定时期,是时候整理一些实用教程了.下面给大家带来 ...
- [转载]ECMall模板解析语法与机制
ECMall模板解析语法与机制 2011-05-22 在ECMall模板中,用"{"开头,以"}"结尾就构成一个标签单元,"{"紧接着的单词 ...
- ecmall 入口文件解析 引入了什么
每一个框架都有自动载入的工具库,搜了半天也没搜到相关介绍,就自己看入口文件琢磨了一下, <?php define('ROOT_PATH', dirname(__FILE__)); //定义项目根 ...
- ecmall 的一些方法说明
ecmall/eccore /ecmall.php 常量: define('START_TIME', ecm_microtime()); define('IS_POST', (strtoupper($ ...
- ecmall公告挂件分析(转)--此挂件写法已有更新的写法。
ecmall的首页,基本上都是由挂件的形式实现的.ecmall所有的挂件程序,都在external\widgets文件下面.ecmall首页公告的插件,就是notice目录里面. 分析里面文件,con ...
随机推荐
- 解决c#所有单线程单元(STA)线程都应使用泵式等待基元(如 CoWaitForMultipleHandles),并在运行时间很长的操作过程中定期发送消息。 转载
最近做一个后来程序,启动了事务后有一段操作业务,当运行一段时间后,出现这个异常 CLR 无法从 COM 上下文 0x1b1c38 转换为 COM 上下文 0x1b1da8,这种状态已持续 60 秒.拥 ...
- poj 3068 "Shortest" pair of paths
"Shortest" pair of paths Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1407 ...
- es6总结(四)--对象
- 转 浅谈C++中指针和引用的区别
浅谈C++中指针和引用的区别 浅谈C++中指针和引用的区别 指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法. 1.指针和引用的定义和性 ...
- Codeforces Gym100735 H.Words from cubes-二分图最大匹配匈牙利
赛后补题,还是要经常回顾,以前学过的匈牙利都忘记了,“猪队友”又给我讲了一遍... 怎么感觉二分图的匈牙利算法东西好多啊,啊啊啊啊啊啊啊啊啊(吐血...) 先传送一个写的很好的博客,害怕智障找不到了. ...
- netcore3.0 webapi集成Swagger 5.0
在项目中引用Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Filters两个dll,在Startup中的ConfigureServices相关配置代码如下 ...
- 济南day2
我好菜啊,绝望啊orzzzzzzz 上午: 上午题解报告 下午 预计100+100+30 实际100+90+0 T2不是我的错,评测机炸了,第一个点无法运行,本机是可以过得 T1 乱搞 T2 前缀和+ ...
- 小R与手机
Description 小R有n部手机,为了便于管理,他对一些手机设置了"呼叫转移"的功能. 具体来说,第 i(1≤i≤n) 部手机有个参数 ai(0≤ai≤n,ai≠i) .若 ...
- fastscript增加公共函数
fastscript增加公共函数 unit fs_BsCommFuncs; interface{$i fs.inc}uses SysUtils, Classes, fs_iclassesrtti, f ...
- Controller 层实现
一.实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现 Controller 层以及一些辅助类的实现. 1.2 实验知识点 Spring MVC 框架 1.3 实验环境 JD ...