在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. UVALive - 6268 Cycling 贪心

    UVALive - 6268 Cycling 题意:从一端走到另一端,有T个红绿灯,告诉你红绿灯的持续时间,求最短的到达终点的时间.x 思路:

  2. Zuul 2 : The Netflix Journey to Asynchronous, Non-Blocking Systems--转

    原文地址:http://techblog.netflix.com/2016/09/zuul-2-netflix-journey-to-asynchronous.html We recently mad ...

  3. Flex4之事件详解

    第一.Flex事件简介 事件贯穿于Flex应用开发的全过程.事件是ActionScript .0中最重要的部分之一,也是Flex应用程序开发的核心基础.本章将在DOM 3的基础上详细讲解ActionS ...

  4. ES6学习笔记(八)第七种类型Symbol

    1.概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种 ...

  5. js002---- 标准内置对象

    1. js全局的对象(全局作用域里的对象,而不是全局对象), 或者叫标准内置对象 2, 全局对象  是一个Global类的对象. 标准内置对象的分类: 1. 值属性 infinity       Na ...

  6. 在hive执行创建表的命令,遇到异常com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

    今天在练习hive的操作时,在创建数据表时,遇到了异常 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.ex ...

  7. QTP校验数据库中数据后台项目

    数据校验功能后台主要包含两个类:QTPCommonServlet.java和QTPCommonDao.java 当中QTPCommonServlet.java为: package com.runqia ...

  8. SQL解析器的性能測试

    对同一个sql语句,使用3种解析器解析出ast语法树(这是编译原理上的说法,在sql解析式可能就是解析器自己定义的statement类型).运行100万次的时间对照. package demo.tes ...

  9. hdu1533Going Home KM算法

    //给一个n*m的图, //m表示人,h表示房子 //问全部人走回家的最小步数 //每一个人仅仅能进一间房 //非常明显的最大带权匹配 //每一个人到每每间房的距离即为权值 //因为是求最小,仅仅要改 ...

  10. Mysql第八天 分区与分表

    分区表 主要提供例如以下的特性,或者适合如此场景: 数据量非常大, 或者仅仅有表中最后的部分有热点数据.其它均为历史数据 分区表数据更easy维护,能够对独立的分区删除等操作 分区表的数据能够分布在不 ...