ecshop中index.dwt文件分析
对于ecshop新手来说,这篇总结值得关注。
对于没有web编程基础的同学来说,ecshop模板里面有两个文件特别重要,
但是这两个文件同时也很不好理解,分别是index.dwt和style.css.
而且网络上很难找到这两个文件的详细说明,经过好多天摸索,把我的经验和认识记录下来,
不一定完全正确,希望更有经验的同学能出来指导。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
//关键字和描述
<meta name="Keywords" content="{$keywords}" />
<meta name="Description" content="{$description}" />
// 可编辑区域,书写首页标题名
<!-- TemplateBeginEditable name="doctitle" -->
<title>{$page_title}</title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<!-- TemplateEndEditable -->
//图标以及css样式和可替换样式
<link rel="shortcut icon" href="favicon.ico" />
<link rel="icon" href="animated_favicon.gif" type="image/gif" />
<link href="{$ecs_css_path}" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="RSS|{$page_title}"
href="{$feed_url}" />
//注释文件以及脚本文件
{* 包含脚本文件 *}
{insert_scripts files='common.js,index.js'}
</head>
//主体文件格式
<body>
//插入首页头文件
<!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem -->
//这个div引用了一个叫做blank的css类
<div class="blank"></div>
//定义首页左边区域
<div class="block clearfix">
<!--left start-->
<div class="AreaL">
//定义站内公告
<!--站内公告 start-->
<div class="box">
<div class="box_1">
<h3><span>{$lang.shop_notice}</span></h3>
<div class="boxCenterList RelaArticle">
{$shop_notice}
</div>
</div>
</div>
<div class="blank5"></div>
<!--站内公告 end-->
<!-- TemplateBeginEditable name="左边区域" -->
//购物车信息
<!-- #BeginLibraryItem "/library/cart.lbi" -->
{insert_scripts files='transport.js'}
<div class="cart" id="ECS_CARTINFO">
{insert name='cart_info'}
</div>
<div class="blank5"></div>
<!-- #EndLibraryItem -->
//快捷引导目录信息
<!-- #BeginLibraryItem "/library/category_tree.lbi" -->
<div class="box">
<div class="box_1">
<div id="category_tree">
//第一层循环
<!--{foreach from=$categories item=cat}-->
<dl>
<dt><a href="{$cat.url}">{$cat.name|escape:html}</a></dt>
//第二层循环
<!--{foreach from=$cat.cat_id item=child}-->
<dd><a href="{$child.url}">{$child.name|escape:html}</a></dd>
//第三层循环
<!--{foreach from=$child.cat_id item=childer}-->
<dd> <a href="{$childer.url}">{$childer.name|escape:html}</a></dd>
<!--{/foreach}-->
<!--{/foreach}-->
</dl>
<!--{/foreach}-->
</div>
</div>
</div>
<div class="blank5"></div>
// 销量前十的商品
<!-- #EndLibraryItem -->
<!-- #BeginLibraryItem "/library/top10.lbi" -->
<div class="box">
<div class="box_2">
<div class="top10Tit"></div>
<div class="top10List clearfix">
//获取销量前十的商品的图片
<!-- {foreach name=top_goods from=$top_goods item=goods}-->
<ul class="clearfix">
<img src="../images/top_{$smarty.foreach.top_goods.iteration}.gif"
class="iteration" />
<!-- {if $smarty.foreach.top_goods.iteration<4}-->
<li class="topimg">
//获取销量前十的商品的缩略图
<a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}"
class="samllimg" /></a>
</li>
<!-- {/if} -->
<li {if $smarty.foreach.top_goods.iteration<4}class="iteration1"{/if}>
<a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_name}</a><br />
{$lang.shop_price}<font class="f1">{$goods.price}</font><br />
</li>
</ul>
<!-- {/foreach} -->
</div>
</div>
</div>
<div class="blank5"></div>
<!-- #EndLibraryItem -->
//促销商品信息
<!-- #BeginLibraryItem "/library/promotion_info.lbi" -->
<!-- {if $promotion_info} -->
<!-- 促销信息 -->
<div class="box">
<div class="box_1">
<h3><span>{$lang.promotion_info}</span></h3>
<div class="boxCenterList RelaArticle">
<!-- {foreach from=$promotion_info item=item key=key} -->
<!-- {if $item.type eq "snatch"} -->
<a href="snatch.php" title="{$lang.$item.type}">{$lang.snatch_promotion}</a>
<!-- {elseif $item.type eq "group_buy"} -->
<a href="group_buy.php" title="{$lang.$item.type}">{$lang.group_promotion}</a>
<!-- {elseif $item.type eq "auction"} -->
<a href="auction.php" title="{$lang.$item.type}">{$lang.auction_promotion}</a>
<!-- {elseif $item.type eq "favourable"} -->
<a href="activity.php" title="{$lang.$item.type}">{$lang.favourable_promotion}</a>
<!-- {/if} -->
<a href="{$item.url}" title="{$lang.$item.type} {$item.act_name}{$item.time}"
style="background:none; padding-left:0px;">{$item.act_name}</a><br />
<!-- {/foreach} -->
</div>
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!-- #EndLibraryItem -->
//订单查询
<!-- #BeginLibraryItem "/library/order_query.lbi" -->
<!--{if empty($order_query)}-->
<script>var invalid_order_sn = "{$lang.invalid_order_sn}"</script>
<div class="box">
<div class="box_1">
<h3><span>{$lang.order_query}</span></h3>
<div class="boxCenterList">
<form name="ecsOrderQuery">
<input type="text" name="order_sn" class="inputBg" /><br />
<div class="blank5"></div>
<input type="button" value="{$lang.query_order}" class="bnt_blue_2"
onclick="orderQuery()" />
</form>
<div id="ECS_ORDER_QUERY" style="margin-top:8px;">
<!--{else}-->
<!--{if $order_query.user_id}-->
<b>{$lang.order_number}:</b><a href="user.php?act=order_detail&order_id=
{$order_query.order_id}" class="f6">{$order_query.order_sn}</a><br>
<!--{else}-->
<b>{$lang.order_number}:</b>{$order_query.order_sn}<br>
<!--{/if}-->
<b>{$lang.order_status}:</b><br><font class="f1">{$order_query.order_status}</font><br>
<!--{if $order_query.invoice_no }-->
<b>{$lang.consignment}:</b>{$order_query.invoice_no}<br>
<!--{/if}-->
{if $order_query.shipping_date}:{$lang.shipping_date} {$order_query.shipping_date}
<br>
<!--{/if}-->
<!--{/if}-->
</div>
</div>
</div>
</div>
<div class="blank5"></div>
//发货单查询
<!-- #EndLibraryItem -->
<!-- #BeginLibraryItem "/library/invoice_query.lbi" -->
<!--{if $invoice_list}-->
<style type="text/css">
.boxCenterList form{display:inline;}
.boxCenterList form a{color:#404040; text-decoration:underline;}
</style>
<div class="box">
<div class="box_1">
<h3><span>{$lang.shipping_query}</span></h3>
<div class="boxCenterList">
<!-- 发货单查询{foreach from=$invoice_list item=invoice} -->
{$lang.order_number} {$invoice.order_sn}<br />
{$lang.consignment} {$invoice.invoice_no}
<div class="blank"></div>
<!-- 结束发货单查询{/foreach}-->
</div>
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!-- #EndLibraryItem -->
//投票信息
<!-- #BeginLibraryItem "/library/vote_list.lbi" -->
{insert name='vote'}
<!-- #EndLibraryItem -->
//邮件订阅功能
<!-- #BeginLibraryItem "/library/email_list.lbi" -->
<div class="box">
<div class="box_1">
<h3><span>{$lang.email_subscribe}</span></h3>
<div class="boxCenterList RelaArticle">
<input type="text" id="user_email" class="inputBg" /><br />
<div class="blank5"></div>
<input type="button" class="bnt_blue" value="{$lang.email_list_ok}"
onclick="add_email_list();" />
<input type="button" class="bnt_bonus" value="{$lang.email_list_cancel}"
onclick="cancel_email_list();" />
</div>
</div>
</div>
<div class="blank5"></div>
//处理邮件订阅的脚本
<script type="text/javascript">
var email = document.getElementById('user_email');
function add_email_list()
{
if (check_email())
{
Ajax.call('user.php?act=email_list&job=add&email=' + email.value, '',
rep_add_email_list, 'GET', 'TEXT');
}
}
function rep_add_email_list(text)
{
alert(text);
}
function cancel_email_list()
{
if (check_email())
{
Ajax.call('user.php?act=email_list&job=del&email=' + email.value, '',
rep_cancel_email_list, 'GET', 'TEXT');
}
}
function rep_cancel_email_list(text)
{
alert(text);
}
function check_email()
{
if (Utils.isEmail(email.value))
{
return true;
}
else
{
alert('{$lang.email_invalid}');
return false;
}
}
</script>
<!-- #EndLibraryItem -->
<!-- TemplateEndEditable -->
</div>
<!--left end-->
<!--right start-->
//右侧区域
<div class="AreaR">
// 站内快讯和焦点图
<!--焦点图和站内快讯 START-->
<div class="box clearfix">
<div class="box_1 clearfix">
<div class="f_l" id="focus">
<!-- #BeginLibraryItem "/library/index_ad.lbi" --><!-- #EndLibraryItem -->
</div>
<!--news-->
<div id="mallNews" class="f_r">
<div class="NewsTit"></div>
<div class="NewsList tc">
<!-- TemplateBeginEditable name="站内快讯上广告位(宽:210px)" -->
<!-- TemplateEndEditable -->
<!-- #BeginLibraryItem "/library/new_articles.lbi" --><!-- #EndLibraryItem -->
</div>
</div>
<!--news end-->
</div>
</div>
<div class="blank5"></div>
<!--焦点图和站内快讯 END-->
<!--今日特价,品牌 start-->
<div class="clearfix">
<!--特价-->
<!-- #BeginLibraryItem "/library/recommend_promotion.lbi" --><!-- #EndLibraryItem -->
<!--品牌-->
<div class="box f_r brandsIe6">
<div class="box_1 clearfix" id="brands">
<!-- #BeginLibraryItem "/library/brands.lbi" --><!-- #EndLibraryItem -->
</div>
</div>
</div>
<div class="blank5"></div>
//主区域
<!-- TemplateBeginEditable name="右边主区域" -->
// 精品推荐
<!-- #BeginLibraryItem "/library/recommend_best.lbi" -->
<!-- {if $best_goods} -->
<!-- {if $cat_rec_sign neq 1} -->
<div class="box">
<div class="box_2 centerPadd">
<div class="itemTit" id="itemBest">
{if $cat_rec[1]}
// 点击切换标签页
<h2><a href="javascript:void(0)" onclick="change_tab_style('itemBest', 'h2',
this);get_cat_recommend(1, 0);">{$lang.all_goods}</a></h2>
{foreach from=$cat_rec[1] item=rec_data}
<h2 class="h2bg"><a href="javascript:void(0)" onclick="change_tab_style('itemBest',
'h2', this);get_cat_recommend(1, {$rec_data.cat_id})">{$rec_data.cat_name}</a></h2>
{/foreach}
{/if}
</div>
<div id="show_best_area" class="clearfix goodsBox">
<!-- {/if} -->
<!--{foreach from=$best_goods item=goods}-->
<div class="goodsItem">
<span class="best"></span>
<a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}"
class="goodsimg" /></a><br />
<p><a href="{$goods.url}" title="{$goods.name|escape:html}">
{$goods.short_style_name}</a></p>
<font class="f1">
<!-- {if $goods.promote_price neq ""} -->
{$goods.promote_price}
<!-- {else}-->
{$goods.shop_price}
<!--{/if}-->
</font>
</div>
<!--{/foreach}-->
<div class="more"><a href="../search.php?intro=best"><img src="data:images/more.gif"
/></a></div>
<!-- {if $cat_rec_sign neq 1} -->
</div>
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!-- {/if} -->
<!-- #EndLibraryItem -->
// 最新商品
<!-- #BeginLibraryItem "/library/recommend_new.lbi" -->
<!-- {if $new_goods} -->
<!-- {if $cat_rec_sign neq 1} -->
<div class="box">
<div class="box_2 centerPadd">
<div class="itemTit New" id="itemNew">
{if $cat_rec[2]}
<h2><a href="javascript:void(0)" onclick="change_tab_style('itemNew', 'h2',
this);get_cat_recommend(2, 0);">{$lang.all_goods}</a></h2>
{foreach from=$cat_rec[2] item=rec_data}
<h2 class="h2bg"><a href="javascript:void(0)" onclick="change_tab_style('itemNew',
'h2', this);get_cat_recommend(2, {$rec_data.cat_id})">{$rec_data.cat_name}</a></h2>
{/foreach}
{/if}
</div>
<div id="show_new_area" class="clearfix goodsBox">
<!-- {/if} -->
<!--{foreach from=$new_goods item=goods}-->
<div class="goodsItem">
<span class="news"></span>
<a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}"
class="goodsimg" /></a><br />
<p><a href="{$goods.url}" title="{$goods.name|escape:html}">
{$goods.short_style_name}</a></p>
<font class="f1">
<!-- {if $goods.promote_price neq ""} -->
{$goods.promote_price}
<!-- {else}-->
{$goods.shop_price}
<!--{/if}-->
</font>
</div>
<!--{/foreach}-->
<div class="more"><a href="../search.php?intro=new"><img src="data:images/more.gif"
/></a></div>
<!-- {if $cat_rec_sign neq 1} -->
</div>
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!-- {/if} -->
<!-- #EndLibraryItem -->
//热销商品
<!-- #BeginLibraryItem "/library/recommend_hot.lbi" -->
<!-- {if $hot_goods} -->
<!-- {if $cat_rec_sign neq 1} -->
<div class="box">
<div class="box_2 centerPadd">
<div class="itemTit Hot" id="itemHot">
{if $cat_rec[3]}
<h2><a href="javascript:void(0)" onclick="change_tab_style('itemHot', 'h2',
this);get_cat_recommend(3, 0);">{$lang.all_goods}</a></h2>
{foreach from=$cat_rec[3] item=rec_data}
<h2 class="h2bg"><a href="javascript:void(0)" onclick="change_tab_style('itemHot',
'h2', this);get_cat_recommend(3, {$rec_data.cat_id})">{$rec_data.cat_name}</a></h2>
{/foreach}
{/if}
</div>
<div id="show_hot_area" class="clearfix goodsBox">
<!-- {/if} -->
<!--{foreach from=$hot_goods item=goods}-->
<div class="goodsItem">
<span class="hot"></span>
<a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}"
class="goodsimg" /></a><br />
<p><a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_style_name}</a></p>
<font class="f1">
<!-- {if $goods.promote_price neq ""} -->
{$goods.promote_price}
<!-- {else}-->
{$goods.shop_price}
<!--{/if}-->
</font>
</div>
<!--{/foreach}-->
<div class="more"><a href="../search.php?intro=hot"><img src="data:images/more.gif" /></a></div>
<!-- {if $cat_rec_sign neq 1} -->
</div>
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!-- {/if} -->
<!-- #EndLibraryItem -->
//拍卖商品
<!-- #BeginLibraryItem "/library/auction.lbi" -->
<!-- {if $auction_list} -->
<div class="box">
<div class="box_1">
<h3><span>{$lang.auction_goods}</span><a href="auction.php"><img src="../images/more.gif"></a></h3>
<div class="centerPadd">
<div class="clearfix goodsBox" style="border:none;">
<!--{foreach from=$auction_list item=auction}-->
<div class="goodsItem">
<a href="{$auction.url}"><img src="{$auction.thumb}" alt="{$auction.goods_name|
escape:html}" class="goodsimg" /></a><br /> <p><a href="{$auction.url}" title="{$auction.goods_name|escape:html}">
{$auction.short_style_name|escape:html}</a></p>
<font class="shop_s">{$auction.formated_start_price}</font>
</div>
<!--{/foreach}-->
</div>
</div>
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!-- #EndLibraryItem -->
//团购商品
<!-- #BeginLibraryItem "/library/group_buy.lbi" -->
<!-- {if $group_buy_goods} -->
<div class="box">
<div class="box_1">
<h3><span>{$lang.group_buy_goods}</span><a href="group_buy.php"><img
src="../images/more.gif"></a></h3>
<div class="centerPadd">
<div class="clearfix goodsBox" style="border:none;">
<!--{foreach from=$group_buy_goods item=goods}-->
<div class="goodsItem">
<a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.goods_name|
escape:html}" class="goodsimg" /></a><br />
<p><a href="{$goods.url}"
title="{$goods.goods_name|escape:html}">{$goods.short_style_name|escape:html}</a></p>
<font class="shop_s">{$goods.last_price}</font>
</div>
<!--{/foreach}-->
</div>
</div>
</div>
</div>
<div class="blank5"></div>
<!-- {/if} -->
<!-- #EndLibraryItem -->
<!-- TemplateEndEditable -->
</div>
<!--right end-->
</div>
<div class="blank5"></div>
<!--帮助-->
<div class="block">
<div class="box">
<div class="helpTitBg clearfix">
<!-- #BeginLibraryItem "/library/help.lbi" --><!-- #EndLibraryItem -->
</div>
</div>
</div>
<div class="blank"></div>
<!--帮助-->
<!--友情链接 start-->
<!--{if $img_links or $txt_links }-->
<div id="bottomNav" class="box">
<div class="box_1">
<div class="links clearfix">
<!--开始图片类型的友情链接{foreach from=$img_links item=link}-->
<a href="{$link.url}" target="_blank" title="{$link.name}"><img src="{$link.logo}"
alt="{$link.name}" border="0" /></a>
<!--结束图片类型的友情链接{/foreach}-->
<!-- {if $txt_links} -->
<!--开始文字类型的友情链接{foreach from=$txt_links item=link}-->
[<a href="{$link.url}" target="_blank" title="{$link.name}">{$link.name}</a>]
<!--结束文字类型的友情链接{/foreach}-->
<!-- {/if} -->
</div>
</div>
</div>
<!--{/if}-->
<!--友情链接 end-->
<div class="blank"></div>
<!-- #BeginLibraryItem "/library/page_footer.lbi" --><!-- #EndLibraryItem -->
</body>
</html>
来源:http://blog.csdn.net/zurich1979/article/details/9164799
ecshop中index.dwt文件分析的更多相关文章
- 【AT91SAM3S】英蓓特EM-SAM3S开发板例子工程中的启动文件分析
手上一块英倍特的EM-SAM3S开发板,拿到已经有一个月了.本来是做uLoong活动使用的板子,可当初由于不熟悉这个芯片,使用了STM32F4当作了替代.最近准备抽点时间折腾下这个板子. 这个板子的资 ...
- Caffe源码中caffe.proto文件分析
Caffe源码(caffe version:09868ac , date: 2015.08.15)中有一些重要文件,这里介绍下caffe.proto文件. 在src/caffe/proto目录下有一个 ...
- ectouch第十讲 之ecshop中 dwt, lbi 文件详解
原文:http://www.yunmoban.cn/article-241.html Ecshop包括的文件夹有admin.api.cert.data.images.includes.js. lang ...
- Android Studio中的AndroidManifest.xml文件分析
一.关于AndroidManifest.xml AndroidManifest.xml清单文件是每个Android程序中必须的文件,它是整个Android程序的全局描述文件,除了能声明程序中的Acti ...
- ECshop中TemplateBeginEditable 和后台编辑讲解
在ecshop的dwt文件里面经常发现有“<!-- TemplateBeginEditable name="doctitle" -->和<!-- #BeginLi ...
- Java class文件分析工具 -- Classpy
Classpy Classpy是一个图形化的class文件分析工具,功能和javap类似,界面主要參考了Java Class Viewer: 为什么要又一次创造轮子? 写这个工具花了将近一周的时间.那 ...
- ecshop init.php文件分析
1. ecshop init.php文件分析 2. <?php 3. 4. /** 5. * ECSHOP 前台公用文件 6. * ===================== ...
- 在自定义的dwt文件中调用page_header.lbi和page_footer.lbi
昨天下午接到需求说要增加一个新的页面,作为优惠活动规则的介绍之用,之前对ecshop各种修改,但是这次自己做页面还是第一次,文件太多,函数也太多,一个一个的读过来时间很头疼的事情,于是就参照goods ...
- ECSHOP在线手册之布局参考图-首页 index.dwt
A.logo替换 1,设置方法 后台商店设置里,上传logo就行,注意logo的名称必须是logo.gif 2,代码相关 page_header.lbi 中 <a href=" ...
随机推荐
- Firefox Security Toolkit 安装
目的: 下载Firefox Security Toolkit加载到浏览器里,增强渗透测试的工具利用. 兼容性: 目前仅支持Linux/Unix环境(可在kali上安装使用). 下载安装: wget h ...
- php简陋版实现微信公众号主动推送消息
推荐一个网站www.itziy.com csdn免积分下载器.pudn免积分下载器.51cto免积分下载器www.verypan.com 百度网盘搜索引擎www.94cto.com 编程相关视频教程. ...
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)5-----Assembly.Unload
http://www.blogcn.com/user8/flier_lu/index.html?id=2164751&run=.04005F8 CLR 产品单元经理(Unit Manager) ...
- nginx+lua+redis实现logserver
http://www.baidu.com/s?wd=nginx lua&pn=10&oq=nginx lua&tn=baiduhome_pg&ie=utf-8& ...
- Hibernate映射之实体映射<转载>
实体类与数据库之间存在某种映射关系,Hibernate依据这种映射关系完成数据的存取,因此映射关系的配置在Hibernate中是最关键的.Hibernate支持xml配置文件与@注解配置两种方式.xm ...
- 推荐:ThoughtWorks(中国)程序员读书雷达
部分转自张逸的博客:http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/ 长久以来一直对程序员 ...
- 阿里云至 Windows Azure 的 Linux 虚拟机迁移
在Windows Azure中,用户可以对部署在Azure中的虚拟机的映像.磁盘以及快照进行生成和下载.用户可以方便地将Azure中的虚拟机实例迁移到本地.私有云甚至其他公有云平台进行测试.扩展或者再 ...
- Windows 下目录及文件向Linux同步
本文解决的是Windows 下目录及文件向Linux同步的问题,Windows向 Windows同步的请参考:http://www.idcfree.com/article-852-1.html 环境介 ...
- BingWallpaper
桌面壁纸更换成Bing.com的每日图片 项目地址:https://github.com/atskyline/BingWallpaper 其实就只是一个脚本,只是觉得二进制文件使用比较方便,所以采用C ...
- jquery通过ajax获取数据,控制显示的数据条数
效果图: 现在我们可以先看它的json数据,如图所示: 然后可以对应我们的代码进行理解. jquery通过ajax获取数据,并通过窗口大小控制显示的数据条数,以及可以根据 ...