在ShopEx中,增加产品的规格时,如颜色、尺寸、是否送货等配置信息,默认情况下,这些内容是需要手动计算的,若只有几个属性值还容易计算,如果每一个属性值比较多,通过手动计算将是一个灰常巨大的工作量,这里通过修改模板及控制器文件,实现了自动计算销售价的功能。 首先,先看一下修改此功能时,涉及到了哪几个文件 控制器文件:core\admin\controller\ctl.spec.php 模板文件:涉及到的比较多 core\admin\view\product\spec.html 编辑商品时规格列表显示的模板文件,通过这里实现了销售价格的计算
找到 <input type="text" size=8 name="price[]" value="<{$price}>"/> 这一行,修改为如下内容:
<{assign var='price' value=$pro.price}> <{if $fromType == 'create'}> <{assign var='price' value=0}> <{foreach from=$pro.sel_spec item=sitem }> <{assign var=price value=$price+$sitem.spec_attr_price}> <{/foreach}> <{/if}> <input type="text" size=8 name="price[]" value="<{$price}>"/>core\admin\view\product\spec_addspectab.html 这是增加规格时,标题头内容,跳转到本文件的结尾,在自己认为适当的位置,加入以下内容
<th><{t}>价格<{/t}></th>这里,我加在了如下位置
<table class="gridlist" cellspacing="0" cellpadding="0" border="0" width="100%"> <thead> <tr> <th style="width:15%"><{t}>系统规格<{/t}></th> <th><{t}>自定义规格值<{/t}></th> <{if $spec.spec_type == 'image'}> <th style="width:20%"><{t}>自定义规格图片<{/t}></th> <{/if}> <th style="width:25%"><{t}>关联商品相册图片<{/t}></th> <th><{t}>价格<{/t}></th> <th style="width:25%"><{t}>操作<{/t}></th> </tr> </thead> <tbody class='spec-body'></tbody> </table>core\admin\view\product\spec_addspecvalue.html 这个是增加一个规格属性的文本框,内容为:
<td class=''> <input type="text" name="goods[spec_desc][<{$specId}>][<{$pSpecId}>][spec_attr_price]" class='spec-value' style="width: 80px;" value="<{$spec_attr_price|escape:'html'}>"/> </td>到这里,文件的修改已经完成,对于销售价格的自动添加已经实现,看看这样是不是方便了很多~ 同时,这里还需要注意的是变量间的运算,不多说,直接看看吧,不难理解:
<{assign var=price value=$price+$sitem.spec_attr_price}>