ShopEx 中规格属性增加时,自动计算其对应的销售价格,同时注意模板中的变量间的计算
在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}>
ShopEx 中规格属性增加时,自动计算其对应的销售价格,同时注意模板中的变量间的计算相关推荐
- 面试总结(CSS 的盒模型?、CSS 中选择器的优先级以及 CSS 权重如何计算?、CSS 中哪些属性可继承,哪些不可以?、CSS 单位中 px、em 和 rem 的区别?、rem 适配....)
CSS 的盒模型? 盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际 内容这几个部分 第一种是 W3C 标准的盒子 ...
- java属性错误_在java中读取属性文件时发生文件未找到错误
我在resources / common / configure /包下创建属性文件 然后我创建代码 Properties prop = new Properties(); try { //load ...
- junit集成Hamcrest测试集合中某个属性是否包含特定值
junit已经集成Hamcrest但是还是需要引用hamcrest-library,不然只有基本方法,高级的没有 <dependency> <groupId>junit< ...
- Tip#66:你知道吗?如何在输入属性值时自动插入双引号
如果你愿意在HTML Editor中输入属性值时自动加入双引号. 设置选项菜单 Tools->Options. 选 Show all settings. 从左边框中选择 Text Editor ...
- C# 控件开发中常用属性整理
Browsable 适用于属性和事件,指定属性或事件是否应该显示在属性浏览器中. Category 适用于属性和事件,指定类别的名称,在该类别中将对属性或事件进行分组.当使用了类别时,组件属性和事件可 ...
- JS原型链中的属性问题
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- Vue项目中background-image属性设置方法
vue项目中background-image属性设置方法 方式一:直接访问 在vue-cli项目中的放在public目录下的资源会被直接复制,不会经过webpack的打包处理. <span cl ...
- oracle判断字段为空时选用别的字段_oracle中使用sql查询时字段为空则赋值默认
转至:http://www.th7.cn/db/Oracle/201501/86125.shtml oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...
- eclipse中使用git提交时忽略不必要的文件
@ eclipse中使用git提交时忽略不必要的文件 我们在eclipse中使用git提交代码时,如果没有添加任何过滤条件,那么会把所有文件都提交.但是实际上有些文件/目录并不需要提交,比如targe ...
最新文章
- CCS5.5 中报错 Does not match the target type,not loaded 的一种情况
- sshpass连接主机以及执行命令
- python【力扣LeetCode算法题库】21- 合并两个有序链表
- 约数个数定理约数和定理
- JSON特殊字符处理
- 信息学奥赛一本通(1163:阿克曼(Ackmann)函数)
- Spring框架声明式事务管理
- 用localStorage来存储数据的一些经验
- Linux服务器的eth,linux做服务器安装两块网卡问题????
- 精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解
- Android View框架总结(四)View布局流程之Measure
- 关于chrome上的网银安全控件开发技术(chrome 调用本地dll)
- 输出100以内所有的素数
- JavaScript 全栈工程师培训教程 - 阮一峰
- Golang go mod 使用
- 如何解决“Cannot be opened because the developer cannot be verified”
- 【LaTeX在线编译器】
- lesson5画表情包
- Python实现当中秋遇上国庆
- 软件项目开发,交付文档(全)
热门文章
- diy nas配置推荐2019_在Windows Server 2019上配置NAS的方法
- linux 优雅重启进程,apache2 重启、停止、优雅重启、优雅停止
- jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
- 容器技术之二.Docker的安装和常见问题
- 一对多 多对一 多对多 多条语句只出现一条的问题
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,数据结构“栈”实现
- python 字符串格式符
- pytorch打印模型参数_Pytorch网络压缩系列教程一:Prune你的模型
- Vue学习(动态组件、组件路由缓存keepalive)-学习笔记
- python pickle模块:数据序列化和反序列化