关于ECSHOP
ECShop是Comsenz公司推出的一款B2C独立网店系统,适合企业及个人快速构建个性化
网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。
ECShop悉心听取每一位商家的需求与建议,不仅设计了人性化的网店管理系统帮助商家
快速上手,还根据中国人的购物习惯改进了购物流程,实现更好的用户购物体验。
经过近两年的发展,ECShop网店系统无论在产品功能、稳定性、执行效率、负载能力、
安全性和SEO支持(搜索引擎优化)等方面都居国内同类产品领先地位,成为国内最流行的购物
系统之一。
官方网站:
http://www.ecshop.com
官方论坛:
http://bbs.ecshop.com
产品特点:
• 灵活的模版机制
ECShop开发了独有的高效模板引擎(2.15以前版本使用smarty模板引擎), 并结合了
Dreamweaver的模板和库功能,使得编辑制作模板变得更简单。
• 开放的插件机制
支付、配送,会员整合都是以插件形式实现。商家可以随时增加或变更的支付方式和配送体
系。ECShop支持大部分php开发的论坛系统,包括discuz,phpwind等,只需在后台做简
单参数配置,即可完成会员整合。
• 功能 AJAX 化
ECShop使用目前流行的 AJAX 技术,批量数据编辑变得更迅速,方便。
• 促销功能
ECShop提供了积分、红包、赠品,夺宝奇兵等多种促销方法。
• 高效率的代码和执行性能
通过优化代码与数据库结构,配合ECShop独家设计的缓存机制,在不考虑网速的情况下,
网店动态页面与纯静态页面访问速度相当。
• 常规功能的更完善实现
针对常规功能尤其是后台管理和购物流程,ECShop进行了更简洁的设计,实现更好的用户
体验。
E-Commerce Online Shop 网上商店系统
4
• 搜索引擎优化
在 SEO (搜索引擎优化)上,ECShop独家支持两种 URL 重写方式,并且是同类软件中第
一家支持google / yahoo / microsoft三家共同发布的 sitemaps 0.9 网站索引规范,能够为
站点被搜索引擎收录做到最大限度的支持和帮助。
• 内置手机短信网关
ECShop内置手机短信网关,支持会员信息群发,订单提醒等功能。
• 多语言支持
支持简体,繁体,英文。
• 源代码开放
用户可根据自己的需求对ECShop进行定制,扩展。
E-Commerce Online Shop 网上商店系统
5
1. 前言
1.1. 模板系统介绍
ECShop网上商店系统”的模板机制是由ECShop团队自行研发的模板控制系统,和著名的
PHP 开源模板引擎程序Smarty 大部分功能类似。为了方便用户开发模板, 并使用了
Dreamweaver的模板和库功能,使得编辑模板变得更简单容易。
1.2. 涵盖内容
本文档主要介绍“模板结构说明”、“模板制作范例”和“模板系统标签变量”等。
1.3. 适用版本
本文档由ECShop团队编写整理;文档主要针对ECShop v2.5+版本。
如果您发现文档内容有误,或者内容尚未更新到最新版本,又或者您觉得需要添加需要了解
的资料,请Email:
[email protected] ,并请注明哪部分内容错误或者尚未更新,谢谢!
注意:“ecshop v2.5+” 表示此文档的适用环境为v2.5或更高版本,低于此版本的可能已
经不适用!为了获得更多更强的功能以及更安全的使用环境,请您尽快升级您的ECShop主程
序!
1.4. ECShop 团队主要成员
• 项目策划
Paul Gao,Weber Liu
• 程序开发
Weber Liu , ScottYe , WenjinZhang , YanXuan , PaulGao , Stevenliu , Hackfan ,
Edisonrao
• 界面设计
Weber Liu,HengqiLu,Yecior
• 文档整理
Lily Chai,Bei Wang
E-Commerce Online Shop 网上商店系统
6
2. 模板结构说明
2.1. 模板目录结构
名称 备注(作用)
css 存放模板.css “样式表”文件目录
images 存放模板“图片”文件目录
js 存放模板.js“javascript”文件目录
library 存放模板.lbi“库文件”目录
注意:以上目录名全部都不可以更改,因为需要和程序做匹配,使用Unix系列操作系统的用
户请注意目录名称大小写。
2.2. 链接模板文件使用例子
文件格式 使用例子
.css
备注:注意默认的style.css文件不可以更改文件名或移动到css目录,额外添加的.css文件需要
存放到css目录路径,不可以使用其他目录名称,留意红色代码部分的使用。
例子:
.js
备注:.js文件必须存放在js目录,不可以使用其他目录名称,注意红色代码部分。
.gif/.jpg/.png .dwt文件代码下面路径使用例子:
.lbi文件代码下面路径使用例子:
.lbi
注意:链接代码的href、rel、type的次序需要遵行上面例子,否则程序可能无法使用。
2.3. 模板文件结构
一套完整模板应该包含以下文件:
• 29个 .dwt文件(模板框架文件)
• 50个 .lbi文件(模板库文件)
• 1个style.css文件 (里面包含了模板的配置代码。)
• 1个screenshot.png文件(用于后台管理显示安装模板。)
名称 文件类型 说明
activity.dwt 模板文件 活动列表页
article_cat.dwt 模板文件 文章列表页
article_pro.dwt 模板文件 系统文章页(如:“公司简介”、“版权信息“。)
article.dwt 模板文件 文章内容页
auction_list.dwt 模板文件 拍卖商品列表页
E-Commerce Online Shop 网上商店系统
7
auction.dwt 模板文件 拍卖商品详情页
brand.dwt 模板文件 品牌商品列表页
catalog.dwt 模板文件 所有分类、品牌页
category.dwt 模板文件 商品列表页
compare.dwt 模板文件 商品比较页
flow.dwt 模板文件 购物车和购物流程页
gallery.dwt 模板文件 商品相册页
goods.dwt 模板文件 商品详情页
group_buy_goods.dwt 模板文件 团购商品详情页
group_buy_list.dwt 模板文件 团购商品列表页
index.dwt 模板文件 首页
message.dwt 模板文件 信息提示页(如:警告信息,登陆成功。)
myship.dwt 模板文件 配送方式查询页
pick_out.dwt 模板文件 选购中心页
receive.dwt 模板文件 收货确认信息页
respond.dwt 模板文件 在线支付结果提示信息页
search.dwt 模板文件 商品高级搜索、搜索结果页
snatch.dwt 模板文件 夺宝奇兵页
tag_cloud.dwt 模板文件 标签云页
topic.dwt 模板文件 专题活动页
user_clips.dwt 模板文件 用户中心页(包含:欢迎页、我的留言、我的评论、
我
的标签、收藏商品、缺货登记、添加缺货登记、我的
推
荐、单个商品推荐。)
user_passport.dwt 模板文件 用户安全页(包含:会员登录、会员注册、找回密码
。)
user_transaction.dwt 模板文件 用户中心页(包含:个人资料、我的红包、添加红包
、我的订单、订单详情、合并订单、订单状态、商品
列表、费用总计、收货人信息、支付方式、其他信息
、会员余额、积分兑换。)
wholesale_list.dwt 模板文件 批发商品页
ad_position.lbi 库文件 广告位
article_category_tree.lbi 库文件 文章列表页“文章分类树”
auction.lbi 库文件 首页拍卖商品
brand_goods.lbi 库文件 首页品牌商品
brands.lbi 库文件 品牌列表和商品列表页“品牌筛选”
cart.lbi 库文件 购物车
cat_articles.lbi 库文件 首页分类文章
cat_goods.lbi 库文件 首页分类商品
category_tree.lbi 库文件 商品分类树
categorys.lbi 库文件 选购中心“分类列表”
comments_list.lbi 库文件 用户评论表单、内容列表
comments.lbi 库文件 用户评论 (ajax载入comments_list.lbi库文件。)
consignee.lbi 库文件 收货地址表单
email_list.lbi 库文件 邮件订阅
filter_attr.lbi 库文件 商品列表页“属性筛选”
goods_article.lbi 库文件 相关文章
goods_attrlinked.lbi 库文件 属性关联的商品
goods_fittings.lbi 库文件 相关配件
E-Commerce Online Shop 网上商店系统
8
goods_gallery.lbi 库文件 商品相册
goods_list.lbi 库文件 商品列表
goods_tags.lbi 库文件 商品标记
goods_relative.lbi 库文件 相关商品
group_buy.lbi 库文件 首页团购商品
help.lbi 库文件 网店帮助
history.lbi 库文件 商品浏览历史
invoice_query.lbi 库文件 首页发货单列表
member_info.lbi 库文件 会员登录表单和登录成功以后的会员信息
member.lbi 库文件 会员登录 (ajax载入member_info.lbi库文件。)
myship.lbi 库文件 配送查询
new_articles.lbi 库文件 最新文章、网店公告
order_query.lbi 库文件 订单查询
order_total.lbi 库文件 订单费用总计
page_footer.lbi 库文件 页面脚部(包含:版权信息、联系电话、地址、IM
软件和Ajax需要调用的javascript代码。
page_header.lbi 库文件 页面头部 (包含:网店LOGO、顶部菜单、主导
航)
pages.lbi 库文件 列表分页
price_grade.lbi 库文件 商品列表页“价格筛选”
recommend_best.lbi 库文件 精品推荐
recommend_hot.lbi 库文件 热卖商品
recommend_new.lbi 库文件 新品推荐
recommend_promotion 库文件 促销商品
search_form.lbi 库文件 搜索表单
snatch_price.lbi 库文件 夺宝奇兵最新出价列表 (必须被
id="ECS_PRICE_LIST"包含实现ajax刷新。)
snatch.lbi 库文件 夺宝奇兵出价表单 (必须被id="ECS_SNATCH"包含
实现ajax刷新。)
top10.lbi 库文件 销售排行
ur_here.lbi 库文件 当前位置
user_menu.lbi 库文件 用户中心菜单
vote_list.lbi 库文件 在线调查
vote.lbi 库文件 在线调查内容
screenshot.png 图片文件 用于后台管理显示安装模板,必须使用.png格式。
style.css 样式表文件 模板默认样式表文件,里面包含了模板的配置代码。
E-Commerce Online Shop 网上商店系统
9
3. 模板系统标签说明
3.1. 变量调节标签
3.1.1. escape [编码]
参数位置 参数类型 必需 可用参数 默认 描述
1 string No html,url,quotes html 使用何种编码格式。
描述:
用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化转码。默
认是html转码。
例子:
{$articleTitle}
{$articleTitle|escape}
{$articleTitle|escape:"html"} {* escapes& " ' <> *}
{$articleTitle|escape:"url"}
{$articleTitle|escape:"quotes"}
3.1.2. nl2br [换行符替换成
]
描述:
所有的换行符将被替换成
.功能同PHP中的nl2br()函数一样.
例子:
{$articleTitle|nl2br}
输出:
Sun or rain expected
today, dark tonight
3.1.3. default [默认值]
参数位置 参数类型 必需 默认 描述
1 string No empty 这是变量为空的时候的默认输出。
描述:
为空变量设置一个默认值。
当变量为空或者未分配的时候,将由给定的默认值替代输出。
例子:
{$articleTitle|default:"no title"}
{$myTitle|default:"no title"}
输出:
Dealers Will Hear Car Talk at Noon.
no title
E-Commerce Online Shop 网上商店系统
10
3.1.4. truncate [截取]
参数位置 参数类型 是否必须 默认 描述
1 integer No 80 截取字符的数量
2 string No ⋯ 截取后追加在截取词后面的字符串
3 boolean No false 是截取到词的边界(假)还是精确到字符(真
)
描述:
从字符串开始处截取某长度的字符.默认是80个.
你也可以指定第二个参数作为追加在截取字符串后面的文本字串.该追加字串被计算在截取长
度中。
默认情况下,smarty会截取到一个词的末尾。
如果你想要精确的截取多少个字符,把第三个参数改为"true"
例子:
{$articleTitle}
{$articleTitle|truncate}
{$articleTitle|truncate:30}
{$articleTitle|truncate:30:""}
{$articleTitle|truncate:30:"---"}
{$articleTitle|truncate:30:"":true}
{$articleTitle|truncate:30:"...":true}
输出:
Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after...
Two Sisters Reunite after
Two Sisters Reunite after---
Two Sisters Reunite after Eigh
Two Sisters Reunite after E...
3.1.5. strip_tags [去除html标签]
描述:
去除<和>标签,包括在<和>之间的任何内容.
例子:
{$articleTitle}
{$articleTitle|strip_tags}
输出:
Blind Woman Gets
New Kidney from Dad she Hasn't
Seen in
years .
Blind Woman Gets New Kidney from Dad she Hasn't Seen in years.
E-Commerce Online Shop 网上商店系统
11
3.2. 控制标签
3.2.1. if,elseif,else
描述:
Smarty 中的 if 语句和 php 中的 if 语句一样灵活易用,并增加了几个特性以适宜模板引擎. if
必须于 /if 成对出现. 可以使用 else 和 elseif 子句. 可以使用以下条件修饰词:eq、ne、
neq、gt、lt、lte、le、gte、ge、is even、is odd、is not even、is not odd、not、mod、
div by、even by、odd by、==、!=、>、<、<=、>=. 使用这些修饰词时必须和变量或常量用
空格格开.
例子:
{if $name eq "Fred"}
Welcome Sir.
{elseif $name eq "Wilma"}
Welcome Ma'am.
{else}
Welcome, whatever you are.
{/if}
{* an example with "or" logic *}
{if $name eq "Fred" or $name eq "Wilma"}
...
{/if}
{* same as above *}
{if $name == "Fred" || $name == "Wilma"}
...
{/if}
{* the following syntax will NOT work, conditional qualifiers
must be separated from surrounding elements by spaces *}
{if $name=="Fred" || $name=="Wilma"}
...
{/if}
{* parenthesis are allowed *}
{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
...
{/if}
{* you can also embed php function calls *}
{if count($var) gt 0}
...
{/if}
{* test if values are even or odd *}
{if $var is even}
...
{/if}
E-Commerce Online Shop 网上商店系统
12
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* test if var is divisible by 4 *}
{if $var is div by 4}
...
{/if}
{* test if var is even, grouped by two. i.e.,
0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *}
{if $var is even by 2}
...
{/if}
{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *}
{if $var is even by 3}
...
{/if}
3.2.2. foreach,foreachelse
iteration:
iteration 用于显示当前循环的执行次数[待考]
iteration 总是从 1 开始,每执行一次增加 1.[待考]
first:
当前 foreach 循环第一次执行时 first 被设置成 true.
last:
当前 foreach 循环执行到最后一遍时 last 被设置成 true.
show:
show 是 foreach 的一个参数. 取值为布尔值 true 或 false. 如果指定为 false 该循环不显示,
如果循环指定了 foreachelse 子句,该子句显示与否也取决于 show 的取值.
total:
total 用于显示循环执行的次数,可以在循环中或循环执行后调用.
属性 类型 是否必须 缺省值 描述
from string Yes n/a 待循环数组的名称
item string Yes n/a 当前处理元素的变量名称
key string No n/a 当前处理元素的键名
name string No n/a 该循环的名称,用于访问该循环
描述:
foreach 是除 section 之外处理循环的另一种方案(根据不同需要选择不同的方案).
E-Commerce Online Shop 网上商店系统
13
foreach 用于处理简单数组(数组中的元素的类型一致),它的格式比 section 简单许多,缺点
是只能处理简单数组.
foreach 必须和 /foreach 成对使用,且必须指定 from 和 item 属性.
name 属性可以任意指定(字母、数字和下划线的组合).
foreach 可以嵌套,但必须保证嵌套中的 foreach 名称唯一.
from 属性(通常是数组)决定循环的次数.
foreachelse 语句在 from 变量没有值的时候被执行.
例子1:
{* 该例将输出数组 $custid 中的所有元素的值 *}
{foreach from=$custid item=curr_id}
id: {$curr_id}
{/foreach}
输出:
id: 1000
id: 1001
id: 1002
例子2:
{* The key contains the key for each looped value
assignment looks like this:
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
*}
{* 键就是数组的下标,请参看关于数组的解释 *}
{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact}
{$key}: {$item}
{/foreach}
{/foreach}
输出:
phone: 1
fax: 2
cell: 3
phone: 555-4444
fax: 555-3333
cell: 760-1234
foreach 循环有自己的变量名,使用该变量名可以访问该循环. 使用方法为
{$smarty.foreach.foreachname.varname},其中 foreachname 即在 foreach 中指定的
name 属性.
E-Commerce Online Shop 网上商店系统
14
3.3. 显示标签
3.3.1. cycle
属性 类型 是否必须 缺省值 描述
name string No default 轮转的名称
values mixed Yes N/A 待轮转的值,可以是用逗号分隔的列表(请查看
delimiter 属性)或一个包含多值的数组.
print boolean No true 是否输出值
advance boolean No true 是否使用下一个值(为 false 时使用当前值)
delimiter string No , 指出values 属性中使用的分隔符,默认是逗号.
assign string No n/a 输出值将被赋给模板变量的名称
描述:
Cycle 用于轮转使用一组值. 该特性使得在表格中交替输出颜色或轮转使用数组中的值变得很
容易.
如果需要在模板中使用多个轮转,需要给出唯一的 name 属性.
用户可以设置 print 属性为 false 强制不输出当前值. 该特性可以很方便地略过某个值.
advance 属性用于重复使用某个值. 当该属性设置为 false 时,下次调用该轮转时将输出同样
的值.
如果指定了 "assign" 这个特殊属性,该轮转的输出值将被赋给由 assign 指定的模板变量,而
不是直接输出.
例子:
{section name=rows loop=$data}
{$data[rows]}
{/section}
输出:
1
2
3
E-Commerce Online Shop 网上商店系统
15
3.3.2. html_options
属性 类型 是否必须 缺省值 描述
values array Yes, unless using
options attribute
n/a 包含下拉列表各元素值的数组
output array Yes, unless using
options attribute
n/a 包含下拉列表各元素显示值的数组
selected string/array No empty 已选定的元素或元素数组
options associative
array
Yes, unless using
values and output
n/a 包含值和显示的关联数组
name string No empty 下拉菜单的名称
描述:
自定义函数 html_options 根据给定的数据创建选项组. 该函数可以指定哪些元素被选定. 要么
必须指定 values 和 ouput 属性,要么指定 options 替代.
如果给定值是数组,将作为 OPTGROUP 处理,且支持递归. 所有的输出与 XHTML 兼容.
如果指定了可选属性 name,该选项列表将将被置于
标签对中. 如果没有指定,那么只产生选项列表.
上表未提到的其它参数在
标签中以"名称/属性"对的方式显示. 如果没有指定可选属
性 name 这些参数将被忽略.
例子:
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
Johnson','Carlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
index.tpl:
{html_options values=$cust_ids selected=$customer_id output=$cust_names}
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_options', array(
1001 => 'Joe Schmoe',
1002 => 'Jack Smith',
1003 => 'Jane Johnson',
1004 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
E-Commerce Online Shop 网上商店系统
16
index.tpl:
{html_options options=$cust_options selected=$customer_id}
输出:
Joe Schmoe
Jack Smith
Jane Johnson
Charlie Brown
3.3.3. html_select_date
属性 类型 是否必须 缺省值 描述
prefix string No Date_ 变量名称前缀
time timestamp/
YYYY-MMDD
No UNIX时间戳
或年-月-日
使用时间类型(data/time)
start_year string No 年份或与当前
年份的相对值
下拉列表中第一个年份,或
与当前年份的相对值(正/负
几年)
end_year string No 同start_year 下拉列表中最后一个年份,
或与当前年份的相对值(正/
负 几年)
display_days boolean No true 是否显示天
display_months boolean No true 是否显示月
display_years boolean No true 是否显示年
month_format string No %B 月份的表示方法(strftime)
day_format string No %02d 天显示的格式(sprintf)
day_value_format string No %d 天的表示方法(sprintf)
year_as_text boolean No false 是否以文本方式显示年份
reverse_years boolean No false 逆序显示年份
field_array string No null 如果指定了名称,选定的区
域将以[Day],[Year],[Month]
的形式返回给PHP(待考)
day_size string No null 如果给定,为标签添加大小
属性
month_size string No null 如果给定,为标签添加大小
属性
year_size string No null 如果给定,为标签添加大小
属性
all_extra string No null 如果给定,为所有标签添加
附加属性
day_extra string No null 如果给定,为标签添加附加
属性
month_extra string No null 如果给定,为标签添加附加
属性
E-Commerce Online Shop 网上商店系统
17
year_extra string No null 如果给定,为标签添加附加
属性
field_order string No MDY 显示区域的顺序
field_separator string No \n 各区域间输出的分隔字符串
month_value_format string No %m 月份值的strftime表示方法
,默认为 %m
描述:
自定义函数 html_select_date 用于创建日期下拉菜单. 它可以显示任意年月日.
例子:
{html_select_date}
输出:
January
February
March
April
May
June
July
August
September
October
November
December
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
E-Commerce Online Shop 网上商店系统
18
25
26
27
28
29
30
31
2001
例子:
{* start and end year can be relative to current year *}
{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1"
display_days=false}
输出:
January
February
March
April
May
June
July
August
September
October
November
December
1995
1996
1997
1998
1999
2000
2001
E-Commerce Online Shop 网上商店系统
19
3.3.4. html_radios
属性 类型 是否必须 缺省值 描述
name string No radio 单选按钮列表的名称
values array Yes, 或指定
options 属性
n/a 包含单选按钮值的数组
output array Yes, 或指定
options 属性
n/a 包含单选按钮显示值的数组
checked string No empty 已选定的元素
options associative
array
Yes, 或指定
values 属性
n/a 包含值和显示的关联数组
separator string No empty 分隔每个单选按钮的字符串
描述:
自定义函数 html_radios 根据给定的数据创建单选按钮组. 该函数可以指定哪个元素被选定.
要么必须指定 values 和 ouput 属性,要么指定 options 替代. 所有的输出与 XHTML 兼容.
上表未提到的其它参数在 标签中以"名称/属性"对的方式显示.
例子:
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
Johnson','Carlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
index.tpl:
{html_radios values=$cust_ids checked=$customer_id output=$cust_names
separator=" "}
index.php:
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('cust_radios', array(
1001 => 'Joe Schmoe',
1002 => 'Jack Smith',
1003 => 'Jane Johnson',
1004 => 'Charlie Brown'));
$smarty->assign('customer_id', 1001);
$smarty->display('index.tpl');
index.tpl:
E-Commerce Online Shop 网上商店系统
20
{html_radios name="id" options=$cust_radios checked=$customer_id separator=" "}
输出:
Joe Schmoe
Jane Johnson
Charlie Brown
E-Commerce Online Shop 网上商店系统
21
3.3.5. html_select_time
属性 类型 是否必须 缺省值 描述
prefix string No Time_ 变量名称前缀
time timestamp No UNIX时间戳
或年-月-日
使用时间类型(data/time)
display_hours boolean No true 是否显示小时
display_minutes boolean No true 是否显示分钟
display_seconds boolean No true 是否显示秒
display_meridian boolean No true 是否显示正午界(上午/下午)
use_24_hours boolean No true 是否使用24小时制
minute_interval integer No 1 分钟下拉列表的间隔
second_interval integer No 1 秒钟下拉列表的间隔
field_array string No n/a 输出值到该值指定的数组
all_extra string No null 如果给定,为标签添加附加属性
hour_extra string No null 如果给定,为标签添加附加属性
minute_extra string No null 如果给定,为标签添加附加属性
second_extra string No null 如果给定,为标签添加附加属性
meridian_extra string No null 如果给定,为标签添加附加属性
描述:
自定义函数 html_select_time 用于创建时间下拉菜单. 它可以显示任意时分秒.
例子:
{html_select_time use_24_hours=true}
输出:
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
E-Commerce Online Shop 网上商店系统
22
23
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
E-Commerce Online Shop 网上商店系统
23
49
50
51
52
53
54
55
56
57
58
59
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
E-Commerce Online Shop 网上商店系统
24
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
AM
PM
E-Commerce Online Shop 网上商店系统
25
3.4. 辅助标签
3.4.1. assign
描述:
assign 用于在模板被执行时为模板变量赋值.
属性 类型 是否必须 缺省值 描述
var string Yes n/a 被赋值的变量名
value string Yes n/a 赋给变量的值
描述:
assign 用于在模板被执行时为模板变量赋值.
例子:
{assign var="name" value="Bob"}
输出:
The value of $name is Bob.
3.4.2. Include
属性 类型 是否必须 缺省值 描述
file string Yes n/a 待包含的模板文件名
assign string No n/a 该属性指定一个变量保存待包含模板的输出
[var ...] [var type] No n/a 传递给待包含模板的本地参数,只在待包含模
板中有效
描述:
Include 标签用于在当前模板中包含其它模板. 当前模板中的变量在被包含的模板中可用. 必须
指定 file 属性,该属性指明模板资源的位置.
如果设置了 assign 属性,该属性对应的变量名用于保存待包含模板的输出,这样待包含模板
的输出就不会直接显示了。
例子1:
{include file="header.tpl"}
{* body of template goes here *}
{include file="footer.tpl"}
可以在属性中传递参数给待包含模板. 传递给待包含模板的参数只在待包含模板中可见. 如果传
递的参数在待包含模板中有同名变量,那么该变量被传递的参数替代.
例子2:
{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"}
{* body of template goes here *}
{include file="footer.tpl" logo=" http://my.domain.com/logo.gif"}
包含 $template_dir 文件夹之外的模板请使用 模板资源 说明的格式.
E-Commerce Online Shop 网上商店系统
26
例子3:
{* absolute filepath *}
{include file="/usr/local/include/templates/header.tpl"}
{* absolute filepath (same thing) *}
{include file="file:/usr/local/include/templates/header.tpl"}
{* windows absolute filepath (MUST use "file:" prefix) *}
{include file="file:C:/www/pub/templates/header.tpl"}
{* include from template resource named "db" *}
{include file="db:header.tpl"}