打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ECshop 模板制作教程— EC 新手入门模板教程

用Dreamwaver 来讲,这样比较
适合初学者和设计师

同时这里许多内容和一些Smarty 相关。假如您已经
熟悉这些内容可跳过不阅读。假如您是ECshop 新手并且想DIY 一下自己的店铺, 那您应
该认真详细地从头到尾读一遍下面章节。( ps :大家不要紧张,我会尽量用人类的语言和大
家交流,实在万不得已才会用机器语言展示给大家)
希望大家能够通过本教程,想要什么模板都能自己做出来。哈哈!一起加油吧!
第一章ECshop 模板基础
读取本部分内容,您将了解:
☆ 每个前台页面所对应的模板页面,模板文件的目录结构。
☆ 一些最基本的ECshop 模板修改方法。
☆ 模板的路径以及相关包含文件的方法(深入了解Dreamweaver 模板制作)。
☆ 一些常用模板例子讲解。
模板存放路径:
ecshop/themes/xxxxx 其中的xxxxx 就是某一套模板,如,系统一般会自带的模板文件名
叫做default ,(即,ecshop/themes/default )里面放的就是安装时的默认模板,以下所有的说
明都是针对默认模板来讲解。
操作前提,将您当前使用的模板调整为default 模板,然后清空缓存。
接下来我们进入default 目录,可以看到以下文件目录:
文件目录如下:
images/ (存放模板中用到的图片)
library/ (存放一些小模板文件及重复被用到的模板文件)
style.css (模板样式文件)
index.dwt (首页的模板index.php )
goods.dwt (商品显示页的模板goods.php )
*.dwt (表示其它.dwt 文件)
什么?难道你不相信这些就是模板吗?好,那我证明给你看看。
我们把images 里面的logo.gif 文件的名字,改为logo2.gif ,然后我们随便找一张gif
图片,起名为logo.gif 放到images 目录中,然后我们刷新首页。看到没?首页logo 被修
改了。
如果你觉得大小不合适,那么我们打开library 目录中的page_header.lib 查看源代码,
然后搜索images/logo.gif 然后看它后面width="130" height="56" 把130 和56 改为相应的
值就可以了,到前台刷新看看。
接下来我们用dreamweaver 打开index.dwt 文件,在源代码中搜索{$page_title} ,找
到后,将{$page_title} 修改为“超级无敌的大卖场”,然后到浏览器前台刷新,看看页面有
什么变化。什么?没有发现吗?看看浏览器头部啊,呵呵,是不是网站的标题被改变了?哈
哈,对,{$page_title} 就是网站标题的标签(注:标签是从“{”开始到“}”结束哦,“{”
和“}”属于标签的一部分)。整个ECshop 的模板就是一个一个这样的标签组成了,控制网
站内容和数据的动态显示。比如({$keyWords})控制网站的关键字标签,({$description})
网站描述标签,(这就是模板中的标签,每个标签都会对应程序里面的一个值,网站运行时
模板引擎会来读取模板页面,然后把对应的标签用对应的值进行替换,就显示出我们看到的
网站页面了,明白了吧)。
很简单吧,如果你上一步你操作非常的容易的话,接下来的学习也是一样的哦。接下来
要怎么改呢?
大家不要着急,欲速则不达,呵呵,下面我们真正开始做ECshop 的模板了,(不懂HTML
的观众准备好Dreamweaver 哦)。
1. 我们到/themes/default 目录中, 把index.dwt 改名为index_bak.dwt , 然后用
Dreamweaver 新建一个HTML 文件,然后保存到/themes/default 目录中, 命名为
index.dwt ,我们刷新前台看看,哈哈,什么也没有哦。好,在我们新建的index.dwt 中找到
,我们把 和 中间的内容替换为“{$page_title}”,在和
之间也放入一个{$page_title} ,刷新前台看看。嘿嘿,看到什么了?网站标题被打印出来了
吧?
如有操作时候有弹出对话框:
点击确定就可以了,:)
2. 接下来我们选择可视化界面编辑:然后在{$page_title} 后面按Enter 键换行,然后
输入:“商店公告:{$shop_notice}”,到浏览器刷新首页刷新看看。商店公告被调出来了,
可以去网站后台,系统设置-> 商店设置-> 网店信息-> 商店公告-> 修改内容,然后到浏
览器再刷新网站首页看看,呵呵,商店公告是被动态掉出来的哦。
3. 继续在{$shop_notice} 后面按Enter 键换行,然后输入:
代码如下:
网站快讯:
{foreach from=$new_articles item=article}
{$article.short_title}
{/foreach}
注:换行的地方按Enter 键哦。
刷新前台看看,呵呵,网站快讯被调出来了。好我们再到网站后台,文章管理->网站列
表-> 添加文章,选择“网站快讯”这个分类,随便添加一篇内容,完成后前台刷新看看。
两篇文章都被动态掉出来了。
注释:
代码如下:
{foreach from=$new_articles item=article} : 循环的开始,
{/foreach} : 循环的结束
$new_articles: 为要循环的东西,这里为网站快讯
{$article.short_title} : 快讯标题的标签
模式为:
{foreach from=$post item=name}
content
{/foreach}
{foreach from=$post item=name} 和{/foreach} 标签中间可以任意添加要循环的内容
content(可以为任意的东西),循环的次数受到$post 的限制(这里要填什么我都会告诉大
家的)。name 为当前这个循环的对象,方便调用数据。
以后这个循环我们会经常的用到哦。还是不懂也没有关系,每次遇到我都会讲那里要怎
模板和引擎技术:ECshop 模板制作教程— EC 新手入门模板教程
网站:http://www.phpchina.com 投稿:[email=phper@phpchina.com]phper@phpchina.com[/email] 《PHPer》57/127
么设置的,多用就会了。
我们也可以这么来写哦,注意:在代码编辑的视图里面编辑。
代码如下:
{foreach from=$new_articles item=article}
{$article.short_title}
{/foreach}
保存,刷新首页看看,表格被一行一行的循环出来了哦。
下一章预告:
产品列表调用,还有产品缩略图!
产品分类调用!
第二章ECshop 模板进阶
在我们上一章的基础上,我们在网站快讯的循环后面,按Enter 键,输入“商品列表”,
接着建立一个2 行3 列的表格,宽度为70% ,表格边框为1(为了让大家看清楚)。
代码如下:
商品列表
1
2
3
4
5
6
注:( 1、2、3、4、5、6 这些个是序号,方便跟大家讲解)
在这里,我们暂时先把下面这一行去掉(为了大家操作简单),变成:
代码如下:
商品列表
1
2
3
我们要循环的是列,也就是,因此我们的循环标签应该在 和 的外面,
而2 和3 应该是循环出来的东西,也就是我模板里面只用保留1 这个td 就可以了,2 和3
都要去掉,于是就变成了下面的样子。
代码如下:
商品列表
1
好,现在我们开始加循环标签,我们要调用的是精品推荐商品。
代码如下:
商品列表
{foreach from=$best_goods item=goods}
{$goods.short_style_name}
{/foreach}
注意了:foreach 表示下面的内容属于要进行循环,from=$best_goods 表示循环的内容来
自$best_goods ,( $best_goods 是精品商品推荐的标签),item=goods 表示当前循环这一次
的对象叫goods ,你也可以改为其它的东东,当然{$goods.short_style_name} 这个地方的。
goods 也要相应的改了哦,{$goods.short_style_name} 表示goods 这个对象的商品名称。好
了,我们保存,前台刷新看一下。呵呵,精品商品被循环出来了吧?
接着,为了大家应用方便,我们把goods 改为jingpinshangpin 。
代码如下:
商品列表
{foreach from=$best_goods item=jingpinshangpin}
{$jingpinshangpin.short_style_name}
{/foreach}
前台刷新看看,呵呵,如果你有很多的精品商品你会发现商品变了,因为精品商品是随
机调取出来的。好,我们继续完善它,给它加上链接对应商品的链接,也就是添加“”属
性。
代码如下:
商品列表
{foreach from=$best_goods item=jingpinshangpin}
{$jingpinshangpin.short_style_name}
{/foreach}
刷新浏览器,点击链接看看链接到什么地方去了哦。呵呵!链接到了每个产品自己的页
面了。
说明:标签{$jingpinshangpin.url} 就是精品商品的商品链接的标签了,但是要记得哦,
$jingpinshangpin 是你起的名字,item=$jingpinshangpin 的这个$jingpinshangpin 改变了的
话,这里也要跟着改变。
接下来我们为商品添加上图片,也就是增加一个属性。
代码如下:
商品列表
{foreach from=$best_goods item=jingpinshangpin}

{$jingpinshangpin.short_style_name}
{/foreach}
到前台刷新浏览器看看,呵呵,商品缩略图也被调出来了。
说明:标签{$jingpinshangpin.thumb} 就是精品商品的缩略图的标签了,但是要记得,
$jingpinshangpin 是你起的名字哦,item=$jingpinshangpin 的这个$jingpinshangpin 改变了的
话,这里也要跟着改变。
如果你已经熟练理解和掌握了以上的步骤,那么下面就越来越清晰和容易了。
接下来我们调取新品上市(标签为:$new_goods)和热卖商品(标签为:$hot_goods),
接着在刚才的代码后面加上去就是了,我就不多讲了。
代码如下:
新品上市
{foreach from=$new_goods item=xinpinshangshi}

{$xinpinshangshi.short_style_name}

{/foreach}
热卖商品
{foreach from=$hot_goods item=remaishangpin}

{$remaishangpin.short_style_name}

{/foreach}
接着我们要一个Menu 菜单,也就是做一个产品的分类列表出来。相信你现在至少知道
分类的标签是什么,就知道要怎么做了吧,呵呵。
分类的标签是:$categories
代码如下:
分类列表
{foreach from=$categories item=fenlei}
{$fenlei.name}
{/foreach}
到前台刷新看看,呵呵,分类列表被调取出来了,我们试着在后台多添加几个一级分类,
然后到首页刷新看看。
子分类的标签是对应在父分类标签来调用的。
代码如下:
分类列表
{foreach from=$categories item=fenlei}
{$fenlei.name}
{foreach from=$fenlei.children item=child}
- - {$child.name|escape:html}
{/foreach}
{/foreach}
保存以后前台刷新看看呢。呵呵,怎么样?子分类也被调用出来了吧,当然可以根据自
己的需要,加上不同的表格或者图片的修饰,子分类是放在了父分类标签的基础上来调用的。
不过如果你的分类已经固定了很少改动,我建议还是做成死的,这样可以做的更漂亮一
些,比如每个分类直接是用图片来代替。呵呵,我一般就是这么处理的,我除了商品和新闻
是动态调用出来的以外,其它的都是做成固定的死的,这样就能够设计的很漂亮,因为有时
候受到代码的限制,做出来不是很好看。

 
E-Commerce Online Shop 网上商店系统 
模板制作引导手册 
 
by Lu Hengqi 
16-Nov-07       E-Commerce Online Shop 网上商店系统 
 

目录 
关于ECSHOP............................................................................................................ 3 
产品特点:.....................................................................................................................................................3 
1. 前言..................................................................................................................... 5 
1.1. 模板系统介绍........................................................................................................................................5 
1.2. 涵盖内容.................................................................................................................................................5 
1.3. 适用版本.................................................................................................................................................5 
1.4. ECShop 团队主要成员....................................................................................................................5 
2. 模板结构说明..................................................................................................... 6 
2.1. 模板目录结构........................................................................................................................................6 
2.2. 链接模板文件使用例子.....................................................................................................................6 
2.3. 模板文件结构........................................................................................................................................6 
3. 模板系统标签说明 ............................................................................................ 9 
3.1. 变量调节标签........................................................................................................................................9 
3.1.1. escape [编码].................................................................................................................................................9 
3.1.2. nl2br [换行符替换成 <br />] ..................................................................................................................9 
3.1.3. default [默认值] ............................................................................................................................................9 
3.1.4. truncate [截取]...........................................................................................................................................10 
3.1.5. strip_tags [去除html标签] ....................................................................................................................10 
3.2. 控制标签.............................................................................................................................................. 11 
3.2.1.  if,elseif,else..................................................................................................................................................11 
3.2.2. foreach,foreachelse................................................................................................................................12 
3.3. 显示标签.............................................................................................................................................. 14 
3.3.1. cycle ...............................................................................................................................................................14 
3.3.2. html_options ..............................................................................................................................................15 
3.3.3. html_select_date......................................................................................................................................16 
3.3.4. html_radios.................................................................................................................................................19 
3.3.5. html_select_time......................................................................................................................................21 
3.4. 辅助标签.............................................................................................................................................. 25 
3.4.1. assign.............................................................................................................................................................25 
3.4.2. Include ..........................................................................................................................................................25 
       E-Commerce Online Shop 网上商店系统 
 

 
关于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 网上商店系统 
 

 搜索引擎优化 
在 SEO (搜索引擎优化)上,ECShop独家支持两种 URL 重写方式,并且是同类软件中第
一家支持google / yahoo / microsoft三家共同发布的 sitemaps 0.9 网站索引规范,能够为
站点被搜索引擎收录做到最大限度的支持和帮助。 
 内置手机短信网关 
ECShop内置手机短信网关,支持会员信息群发,订单提醒等功能。 
 多语言支持 
支持简体,繁体,英文。 
 源代码开放 
用户可根据自己的需求对ECShop进行定制,扩展。 
 
 
 
 
 
 
 
 
 
 
 
 
 
       E-Commerce Online Shop 网上商店系统 
 

 
1.  前言 
1.1.  模板系统介绍 
ECShop网上商店系统”的模板机制是由ECShop团队自行研发的模板控制系统,和著名的
PHP开源模板引擎程序Smarty大部分功能类似。为了方便用户开发模板,并使用了
Dreamweaver的模板和库功能,使得编辑模板变得更简单容易。 
 
1.2.  涵盖内容 
本文档主要介绍“模板结构说明”、“模板制作范例”和“模板系统标签变量”等。 
 
1.3.  适用版本 
本文档由ECShop团队编写整理;文档主要针对ECShop v2.5+版本。 
如果您发现文档内容有误,或者内容尚未更新到最新版本,又或者您觉得需要添加需要了解
的资料,请Email: [email=luhengqi@gmail.com]luhengqi@gmail.com[/email],并请注明哪部分内容错误或者尚未更新,谢谢! 
注意:“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 网上商店系统 
 

2.  模板结构说明 
2.1.  模板目录结构 
名称  备注(作用) 
css  存放模板.css “样式表”文件目录 
images  存放模板“图片”文件目录 
js  存放模板.js“javascript”文件目录 
library  存放模板.lbi“库文件”目录 
 
注意:以上目录名全部都不可以更改,因为需要和程序做匹配,使用Unix系列操作系统的用
户请注意目录名称大小写。 
 
2.2.  链接模板文件使用例子 
文件格式  使用例子 
.css  <linkhref="style.css" rel="stylesheet" type="text/css" /> 
备注:注意默认的style.css文件不可以更改文件名或移动到css目录,额外添加的.css文件需要
存放到css目录路径,不可以使用其他目录名称,留意红色代码部分的使用。 
例子:<linkhref="css/style.css" rel="stylesheet" type="text/css" /> 
.js  <script type="text/javascript" src="js/ajax.js"></script> 
备注:.js文件必须存放在js目录,不可以使用其他目录名称,注意红色代码部分。 
.gif/.jpg/.png  .dwt文件代码下面路径使用例子: 
<imgsrc="images/a.gif" alt="" /> 
.lbi文件代码下面路径使用例子: 
<imgsrc="../images/a.gif" alt="" /> 
.lbi  <!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- 
#EndLibraryItem --> 
 
注意:链接代码的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 网上商店系统 
 

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 网上商店系统 
 

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 网上商店系统 
 

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 [换行符替换成 <br />]  
描述: 
所有的换行符将被替换成 <br />.功能同PHP中的nl2br()函数一样. 
 
例子: 
{$articleTitle|nl2br} 
输出: 
Sun or rain expected<br />today, dark tonight 
 
 
3.1.3.   defaul t  [默认值]  
参数位置  参数类型  必需  默认  描述 
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 <font face="helvetica">New Kidney</font> from Dad she Hasn't 
Seen in <b>years</b>. 
Blind Woman Gets New Kidney from Dad she Hasn't Seen in years. 
 
 
 
 
 
       E-Commerce Online Shop 网上商店系统 
 
11 
3.2.  控制标签 
3.2.1.   i f ,elsei f ,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}<br> 
{/foreach} 
输出: 
id: 1000<br> 
id: 1001<br> 
id: 1002<br> 
 
例子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}<br> 
  {/foreach} 
{/foreach} 
输出: 
phone: 1<br> 
fax: 2<br> 
cell: 3<br> 
phone: 555-4444<br> 
fax: 555-3333<br> 
cell: 760-1234<br> 
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} 
<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> 
<td>{$data[rows]}</td> 
</tr> 
{/section} 
输出: 
<tr bgcolor="#eeeeee"> 
<td>1</td> 
</tr> 
<tr bgcolor="#d0d0d0"> 
<td>2</td> 
</tr> 
<tr bgcolor="#eeeeee"> 
<td>3</td> 
</tr> 
 
 
 
 
 
 
 
 
 
 
 
 
       E-Commerce Online Shop 网上商店系统 
 
15 
3.3.2.   html_opt ions 
属性  类型  是否必须  缺省值  描述 
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,该选项列表将将被置于<select name="groupname"></select>
标签对中. 如果没有指定,那么只产生选项列表. 
上表未提到的其它参数在 <select> 标签中以"名称/属性"对的方式显示. 如果没有指定可选属
性 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: 
 
<select name=customer_id> 
  {html_options values=$cust_ids selected=$customer_id output=$cust_names} 
</select> 
 
 
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: 
 
<select name=customer_id> 
  {html_options options=$cust_options selected=$customer_id} 
</select> 
输出: 
<select name=customer_id> 
  <option value="1000">Joe Schmoe</option> 
  <option value="1001" selected="selected">Jack Smith</option> 
  <option value="1002">Jane Johnson</option> 
  <option value="1003">Charlie Brown</option> 
</select> 
 
 
 
3.3.3.   html_select_date 
属性  类型  是否必须  缺省值  描述 
prefix  string  No  Date_  变量名称前缀 
time  timestamp/
YYYY-MM-
DD 
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} 
输出: 
<select name="Date_Month"> 
<option value="1">January</option> 
<option value="2">February</option> 
<option value="3">March</option> 
<option value="4">April</option> 
<option value="5">May</option> 
<option value="6">June</option> 
<option value="7">July</option> 
<option value="8">August</option> 
<option value="9">September</option> 
<option value="10">October</option> 
<option value="11">November</option> 
<option value="12" selected>December</option> 
</select> 
<select name="Date_Day"> 
<option value="1">01</option> 
<option value="2">02</option> 
<option value="3">03</option> 
<option value="4">04</option> 
<option value="5">05</option> 
<option value="6">06</option> 
<option value="7">07</option> 
<option value="8">08</option> 
<option value="9">09</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
<option value="13" selected>13</option> 
<option value="14">14</option> 
<option value="15">15</option> 
<option value="16">16</option> 
<option value="17">17</option> 
<option value="18">18</option> 
<option value="19">19</option> 
<option value="20">20</option> 
<option value="21">21</option> 
<option value="22">22</option> 
<option value="23">23</option> 
<option value="24">24</option>       E-Commerce Online Shop 网上商店系统 
 
18 
<option value="25">25</option> 
<option value="26">26</option> 
<option value="27">27</option> 
<option value="28">28</option> 
<option value="29">29</option> 
<option value="30">30</option> 
<option value="31">31</option> 
</select> 
<select name="Date_Year"> 
<option value="2001" selected>2001</option> 
</select> 
 
例子: 
{* 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} 
输出: 
<select name="StartDateMonth"> 
<option value="1">January</option> 
<option value="2">February</option> 
<option value="3">March</option> 
<option value="4">April</option> 
<option value="5">May</option> 
<option value="6">June</option> 
<option value="7">July</option> 
<option value="8">August</option> 
<option value="9">September</option> 
<option value="10">October</option> 
<option value="11">November</option> 
<option value="12" selected>December</option> 
</select> 
<select name="StartDateYear"> 
<option value="1999">1995</option> 
<option value="1999">1996</option> 
<option value="1999">1997</option> 
<option value="1999">1998</option> 
<option value="1999">1999</option> 
<option value="2000" selected>2000</option> 
<option value="2001">2001</option> 
</select> 
 
 
 
 
 
 
 
 
 
 
 
       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 兼容. 
上表未提到的其它参数在 <input> 标签中以"名称/属性"对的方式显示. 
 
例子: 
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="<br />"} 
 
 
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="<br />"} 
输出: 
<input type="radio" name="id[]" value="1000">Joe Schmoe<br /> 
<input type="radio" name="id[]" value="1001" checked="checked"><br /> 
<input type="radio" name="id[]" value="1002">Jane Johnson<br /> 
<input type="radio" name="id[]" value="1003">Charlie Brown<br /> 
       E-Commerce Online Shop 网上商店系统 
 
21 
 
3.3.5.   html_select_t ime 
属性  类型  是否必须  缺省值  描述 
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} 
输出: 
<select name="Time_Hour"> 
<option value="00">00</option> 
<option value="01">01</option> 
<option value="02">02</option> 
<option value="03">03</option> 
<option value="04">04</option> 
<option value="05">05</option> 
<option value="06">06</option> 
<option value="07">07</option> 
<option value="08">08</option> 
<option value="09" selected>09</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
<option value="13">13</option> 
<option value="14">14</option> 
<option value="15">15</option> 
<option value="16">16</option> 
<option value="17">17</option> 
<option value="18">18</option> 
<option value="19">19</option> 
<option value="20">20</option> 
<option value="21">21</option> 
<option value="22">22</option>       E-Commerce Online Shop 网上商店系统 
 
22 
<option value="23">23</option> 
</select> 
<select name="Time_Minute"> 
<option value="00">00</option> 
<option value="01">01</option> 
<option value="02">02</option> 
<option value="03">03</option> 
<option value="04">04</option> 
<option value="05">05</option> 
<option value="06">06</option> 
<option value="07">07</option> 
<option value="08">08</option> 
<option value="09">09</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
<option value="13">13</option> 
<option value="14">14</option> 
<option value="15">15</option> 
<option value="16">16</option> 
<option value="17">17</option> 
<option value="18">18</option> 
<option value="19">19</option> 
<option value="20" selected>20</option> 
<option value="21">21</option> 
<option value="22">22</option> 
<option value="23">23</option> 
<option value="24">24</option> 
<option value="25">25</option> 
<option value="26">26</option> 
<option value="27">27</option> 
<option value="28">28</option> 
<option value="29">29</option> 
<option value="30">30</option> 
<option value="31">31</option> 
<option value="32">32</option> 
<option value="33">33</option> 
<option value="34">34</option> 
<option value="35">35</option> 
<option value="36">36</option> 
<option value="37">37</option> 
<option value="38">38</option> 
<option value="39">39</option> 
<option value="40">40</option> 
<option value="41">41</option> 
<option value="42">42</option> 
<option value="43">43</option> 
<option value="44">44</option> 
<option value="45">45</option> 
<option value="46">46</option> 
<option value="47">47</option> 
<option value="48">48</option>       E-Commerce Online Shop 网上商店系统 
 
23 
<option value="49">49</option> 
<option value="50">50</option> 
<option value="51">51</option> 
<option value="52">52</option> 
<option value="53">53</option> 
<option value="54">54</option> 
<option value="55">55</option> 
<option value="56">56</option> 
<option value="57">57</option> 
<option value="58">58</option> 
<option value="59">59</option> 
</select> 
<select name="Time_Second"> 
<option value="00">00</option> 
<option value="01">01</option> 
<option value="02">02</option> 
<option value="03">03</option> 
<option value="04">04</option> 
<option value="05">05</option> 
<option value="06">06</option> 
<option value="07">07</option> 
<option value="08">08</option> 
<option value="09">09</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
<option value="13">13</option> 
<option value="14">14</option> 
<option value="15">15</option> 
<option value="16">16</option> 
<option value="17">17</option> 
<option value="18">18</option> 
<option value="19">19</option> 
<option value="20">20</option> 
<option value="21">21</option> 
<option value="22">22</option> 
<option value="23" selected>23</option> 
<option value="24">24</option> 
<option value="25">25</option> 
<option value="26">26</option> 
<option value="27">27</option> 
<option value="28">28</option> 
<option value="29">29</option> 
<option value="30">30</option> 
<option value="31">31</option> 
<option value="32">32</option> 
<option value="33">33</option> 
<option value="34">34</option> 
<option value="35">35</option> 
<option value="36">36</option> 
<option value="37">37</option> 
<option value="38">38</option>       E-Commerce Online Shop 网上商店系统 
 
24 
<option value="39">39</option> 
<option value="40">40</option> 
<option value="41">41</option> 
<option value="42">42</option> 
<option value="43">43</option> 
<option value="44">44</option> 
<option value="45">45</option> 
<option value="46">46</option> 
<option value="47">47</option> 
<option value="48">48</option> 
<option value="49">49</option> 
<option value="50">50</option> 
<option value="51">51</option> 
<option value="52">52</option> 
<option value="53">53</option> 
<option value="54">54</option> 
<option value="55">55</option> 
<option value="56">56</option> 
<option value="57">57</option> 
<option value="58">58</option> 
<option value="59">59</option> 
</select> 
<select name="Time_Meridian"> 
<option value="am" selected>AM</option> 
<option value="pm">PM</option> 
</select> 
 
 
 
 
 
 
       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"} 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
我的ECshop二次开发从零开始
ECshop网站模板修改详细教程 and 模板对应的文件
实现ecshop二次加模板后台可以管理
ECSHOP模板修改13问
ecshop模板制作1
ecshop模板制作入门教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服