【发布时间】:2019-08-22 12:27:07
【问题描述】:
我一直在尝试使用目录价格规则在 magento 2.3 中标记产品价格。即我需要提高产品价格,而不是打折。作为
在
\vendor\magento\module-catalog-rule\Model\Indexer\ProductPriceCalculator.php
,我已经修改了案例
- by_fixed
- 按百分比
在这些而不是减少我试图将其添加到产品价格中
请找到下面的代码
switch ($ruleData['action_operator']) {
case 'to_fixed':
// $productPrice = min($ruleData['action_amount'], $productPrice);
break;
case 'to_percent':
// $productPrice = $productPrice * $ruleData['action_amount'] / 100;
break;
**case 'by_fixed':
$productPrice = max(0, $productPrice + $ruleData['action_amount']);
break;
case 'by_percent':
$productPrice = $productPrice * (1 + $ruleData['action_amount'] / 100);**
break;
default:
$productPrice = 0;
}
但是当我尝试应用这个时,它没有显示在前端,
我有一个 100 美元的产品,当我申请 50% 的折扣时,它不应该降低价格。相反,我需要产品价格为 150 美元。所以我可以使用目录规则标记价格。
现在它只显示 100 美元,我认为它只显示最低价格。我可以在哪里找到验证并根据我的需要进行更改
【问题讨论】:
-
您确定它正在访问您修改以添加价格的两个案例吗?你已经注释掉了前两个案例,也许让他们返回一个垃圾
$productPrice只是为了确保他们没有被击中。 -
@dazed-and-confused 是的,我确定,我已经调试过这些案例。知道目录价格折扣在哪里计算吗?以及如何修改它?
标签: php magento magento-2.0