ecshop模板教程-模板动作结合结构分析
2011-09-07 23:35 来源:www.chinab4c.com 作者:ecshop专家
很长时间没有讲ecshop模板教程了。最近再忙,也会抽时间出来写写教程的,我们以前讲了一些ecshop模板教程的变量处理,循环和判断。后来很多朋友反应模板动作结合结构分析特别复杂,根本搞不清楚该如何处理。而且很多ecshop模板非常庞大,里面很多的if else很难让人看明白。
首先,我们讲述的是ecshop的模板,很多模板他都是多个动作组合在一个模板文件里面。我们比如ecshop购物车把。他就是通过flow.php里面的一些判断,通过$step变量,来将所有购物车中的动作页面都写在ecshop模板文件flow.dwt里面。
ecshop的模板有个特征,就是ecshop模板分成三个部分,头部page_header.lbi,底部page_footer.lbi,以及ecshop模板{if}{else}中间的一些判断。ecshop将一个页面的所有动作对应的HTML都写在一个模板里面。有个好处就是集中管理,不好的地方就是文件结构复杂。
首先我们看flow.php,
if (!isset($_REQUEST['step']))
{
$_REQUEST['step'] = "cart";
}
这个$step是主要的,我们可以看到在ecshop购物车页面,我们可以看到底部文件$smarty->assign('step', $_REQUEST['step']);,这个就是为了把$step传到模板中去,不同的动作进行区别判断。
先看flow.dwt里,第一个动作是显示ecshop默认的购物车的功能。 <!-- {if $step eq "cart"} -->,他表示对应着flow.php里面的cart动作。 <!-- {if $step eq "consignee"} -->这个动作就对应flow.php?step=consignee动作。
从这里我们可以看出,ecshop程序中的每个动作,都会对应模板里的{if}{else}动作。这样的话,有了这个ecshop模板规律,我将更好的掌握和应用ecshop的一些模板规则去进行新的ecshop模板开发。同样,在ecshop每个不同的动作里面,你还可以通过js包含的形式包含该动作所需要支持的JS。比如这个{insert_scripts files='region.js,utils.js'}。
记住,每个ecshop模板的动作最前面,先必须通过类似方式来初始化ecshop中的js变量。
{foreach from=$lang.flow_js item=item key=key}
var {$key} = "{$item}";
{/foreach}
{literal}
最近更新
常用插件
- ecshop直接购买流程二次开
ecshop当全场免除运费的时候,其实大可以开发新的直接购买流程,方便...
- ecshop导出会员邮件和手机
ecshop导出会员邮件和手机号插件,主要是用于ecshop系统中促销活动中。获...
- ecshop商品库存缺货发货量
ecshop商品库存缺货发货量数据倒出插件上海汽车租赁www.shrentbus.cn...
- ecshop2.7.0utf给属性增加库存
插件介绍:本插件适合ecshop2.7.0的utf8编码对商品的属性进行库存管理...
- ecshop二次开发商品购买备
ecshop销售统计 插件介绍:ecshop二次开发订单销售统计和商品购买备注服...