在ShopEx中,添加产品的规格时,如颜色、尺寸、是否送货等配置信息,默认情况下,这些内容是须要手动计算的,若仅仅有几个属性值还easy计算,假设每个属性值比較多,通过手动计算将是一个灰常巨大的工作量,这里通过改动模板及控制器文件。实现了自己主动计算销售价的功能。

首先。先看一下改动此功能时,涉及到了哪几个文件

控制器文件: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}>

ShopEx 中规格属性添加时,自己主动计算其相应的销售价格,同一时候注意模板中的变量间的计算的更多相关文章

  1. 字符串怎么换行 || 字符串中使用单引号时应该怎么写 || 保留两位小数 || 数字0在if中的意思是false || 什么情况下会会报undefined || null和undefined的区别 ||

    换行的字符串 "This string\nhas two lines" 字符串中使用单引号时应该怎么写 'You\'re right, it can\'t be a quote' ...

  2. Android及java中list循环添加时覆盖的问题-20171021

    鉴于新浪博客太渣,转到这来. 最近在工程设计时,使用list循环添加map对象发现,最终全部变为最后一个map的值,但是list的数值还是正确的,也就是说添加了N(list长度或者说循环的次数)个相同 ...

  3. Spring中使用@Value读取porperties文件中的属性值方法总结及注意事项

    本文为博主原创,转载请注明出处. 此前曾总结过使用工具类读取properties文件中的属性值,有兴趣的可以看一下. 如何快速获取properties中的配置属性值:https://www.cnblo ...

  4. VMware虚拟机中为Linux 添加虚拟硬盘(VirtualBox方法类似)

    修改1:2014-06-24 11:38:21 Linux添加硬盘是在原来安装的硬盘空间不够或者需要使用其他硬盘上的东西时候的解决办法,因为大多数初学者习惯使用虚拟机,这里以在Vmware虚拟机中实现 ...

  5. meta 中的属性viewport

    粘贴自:https://blog.csdn.net/u012402190/article/details/70172371 <meta name="viewport" con ...

  6. 模板中的 TemplateBinding 问题

    昨天一个朋友向我求助一个自定义水印控件绑定的问题,问题出在文本框中输入的文本,不能绑定到 相应的依赖属性上(自定义的依赖属性 PassText),他纠结了很久找不出问题所在.问题帮他解决后,这里稍 做 ...

  7. Thinkphp模板中函数的使用

    1.在模板中使用php函数 在thinkphp的html中,我们经常会遇到一些变量难以直接从php控制端直接处理,这些变量只有在模板中循环输出的时候处理比较合适,这个时候,我们就要在模板中使用函数 1 ...

  8. fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”? 解决方法

    错误描述: fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#include "StdAfx.h"”? 错误分析:     此错误发 ...

  9. 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?

    在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#include "StdAfx.h"”? 右键选择该文件.cpp格式的->属性->预编译头,→ 不使用预编译 ...

随机推荐

  1. 20.发送http请求服务 ($http)

    转自:https://www.cnblogs.com/best/tag/Angular/ 服务从代码直接与服务器进行交互,底层是通过实现,与中http服务从AngularJS代码直接与Web服务器进行 ...

  2. 12.ng-switch

    转自:https://www.cnblogs.com/best/tag/Angular/ 根据作用域表达式动态切换把那个DOM元素包含在已经编译的模板中. 示例代码: <!DOCTYPE htm ...

  3. PHP开源网

    网站地址http://www.cnblogs.com/huijieoo/

  4. javaScript call与apply学习笔记

    call和apply是借用他人的函数实现自己到功能,具体表现在改变this指向,借用他人方法 而不同的地方是call是把实参按照形参的个数传入,而apply传入的是一个数组(argument) 写一个 ...

  5. IDEA集成Python插件,SDK配置

    (第一次写在博客园添加随笔, 会有些生硬,有不对的地方和描述错误之处希望可以指出) 最近在学习一个新的知识点,涉及到Python的使用,因为第一次接触很多地方都不是很明白 ,好,废话不多说,现在直接上 ...

  6. Asp.Net Core 之 appsettings.json

    原文:Asp.Net Core 之 appsettings.json appsettings.json是什么? 相信大家在.Net Framework的项目都会用的web.config,app.con ...

  7. JS中的onload与jQuery中的ready差别

    jQuery的运行机制(onload与ready的差别) 结论得出前自行測试: 为了測试是否真如所说的那样,所以在页面插入了20000张照片,照片数量少得不出什么结论,所以改用console.log( ...

  8. HDU 4405 概率期望DP

    有 0到 n 个格子.掷骰子走路,求出到终点的数学期望,有飞行的路线. dp[i] 存储在i位置走到终点的期望. 转移方程dp[i]=(dp[i+1] ----> dp[i+6])/6+1; 有 ...

  9. [BZOJ2143]飞飞侠 并查集优化最短路

    链接 题解 首先很容易想到对每个点暴力跑Dijkstra,但是这样边数是 \(N^4\) 的,考虑优化 发现每次松弛的时候,都要把整个地图扫一遍,每个节点都要重复扫很多次,如果我们在一个点不会再被更新 ...

  10. 玲珑学院 1014 Absolute Defeat

    SAMPLE INPUT 3 2 2 2 1 1 5 1 4 1 2 3 4 5 4 10 3 1 2 3 4 SAMPLE OUTPUT 1 0 15 前缀和,每个元素都判断一下. #include ...