Shopware具有功能强大的运输成本模块,您可以专门干预计算。 在我们的情况下,我们要实现以下情形:每件商品的运输成本最初是根据商品的重量确定的(指定了重量限制)。 仅在特殊情况下,才有可能为每个项目设置固定的运输费用。
运费表如下所示:
| 重量 | 增肥 | 价钱 |
| 0公斤 | <3公斤 | 4,99 € |
| 3公斤 | <5公斤 | 6,90 € |
| 5公斤 | <10公斤 | 9,50 € |
| 10公斤 | <15公斤 | 10,90 € |
| 15公斤 | <20公斤 | 12,90 € |
| 20公斤 | <31公斤 | 17,90 € |
| 31公斤 | <40公斤 | 49,90 € |
| 从40公斤 | 基本价格49.90€+每公斤0.59€ |
首先,您可能会想到在“根据以下方式计算运输成本”字段中选择值“重量”,并在下面输入相应的限制:

这里存在几个问题:规则“40公斤起:基础价格49.90欧元 + 每公斤0.59欧元”难以实现;像2.999这样的数值不准确;而且缺少为每件商品单独设置运费的选项。为了解决这些问题,我们首先在“设置”>“商品”>“商品自由文本字段”下创建一个新的自由文本字段(例如,“attr5”)。:

现在,我们将在此字段中填写所有需要单独计算运费的商品的欧元价格。对于小数,请使用句点(.)代替逗号。:

最后,我们使用重要设置“根据以下条件计算运输成本:自己计算”和“因子(%):100”创建了一种新的运输方式:

最后,在“高级设置”下,我们将新的计算功能存储在“自己的计算”下:
a359cdf87765551f0706
此函数会获取每件物品的重量并计算价格。例如,三件不同的物品,每件重 2.5 公斤,总价为 14.97 欧元;而三件相同的物品,每件重 2.5 公斤,则总价为 9.50 欧元。如果您想根据总重量计算价格(两种情况下均为 9.50 欧元),只需对计算函数稍作调整即可。:
a359cdf87765551f0706
如果还包括经销商,则必须注意SQL查询中指定的价格是净值还是毛值(取决于基本设置>商店设置>客户组>输入毛价中设置的值)。
如果您要考虑项目功能“将项目标记为免费送货”(针对每个项目),请访问b.shippingfree列,并在“设置”>“运输费用”>“高级设置”>“免费送货项目”中设置以下选项:

借助SQL,您可以构建任何复杂的查询。 建议在SQL变量的帮助下准备最终查询,以使整个事情保持容易维护。 以下是一个更复杂的查询的示例示例,该查询可区分商店客户和零售商,考虑免费送货项目,仅针对最大购物车收取送货费用,并使用不同的价格范围(取决于品牌):
a359cdf87765551f0706