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=" ...
随机推荐
- 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...
- 蓝牙(2)用BluetoothAdapter搜索蓝牙设备示例
注意在搜索之前要先打开蓝牙设备 package com.e.search.bluetooth.device; import java.util.Set; import android.app.Acti ...
- window.addEventListener来解决让一个js事件执行多个函数
可能你也碰到过这种情况,就是在js的代码中用了window.onload后,可能会影响到body中的onload事件.这时就要用window.attachEvent和window.addEventLi ...
- WinCE下VPN设置
一.环境 1. WinCE5.0+2004/2005/2006/2007补丁. 2. 3G拨号模块. 二.说明 1. WinCE设备必须可以接入网络. 2. 支 ...
- 取出block所对应的hash值
/**********************************************************************//** Gets the hash value of t ...
- UVa 1210 (高效算法设计) Sum of Consecutive Prime Numbers
题意: 给出n,求把n写成若干个连续素数之和的方案数. 分析: 这道题非常类似大白书P48的例21,上面详细讲了如何从一个O(n3)的算法优化到O(n2)再到O(nlogn),最后到O(n)的神一般的 ...
- C#String与string大小写的区别
string是c#中的类 String是.net Framework的类 用string需要通过再次编译,所以直接用String速度会更快··· string是关键字,而String不是··· str ...
- I.MX6 driver goto 使用
/************************************************************************** * I.MX6 driver goto 使用 * ...
- html的视频插件 (转)
1)jMedia Element是一个基于jQuery/jQuery UI实现的HTML5音频/视频开发工具包.提供非常多的功能来控制页面中的音频和视频内容.当旧的浏览器不兼容HTML5时, ...
- Erlang入门(二)—并发编程
Erlang中的process——进程是轻量级的,并且进程间无共享.查了很多资料,似乎没人说清楚轻量级进程算是什么概念,继续查找中...闲话不提,进入并发编程的世界.本文算是学习笔记,也可以说是< ...