Skip to content

Commit ccfc2c8

Browse files
committed
MC-42243: Sorting by price is incorrect if price for shared catalog is 0
1 parent 632c723 commit ccfc2c8

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/CustomOptionPriceModifier.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,8 +394,16 @@ private function getSelectForUpdate(string $sourceTable): Select
394394
);
395395
$select->columns(
396396
[
397-
'min_price' => new ColumnValueExpression('i.min_price + io.min_price'),
398-
'max_price' => new ColumnValueExpression('i.max_price + io.max_price'),
397+
'min_price' => $connection->getCheckSql(
398+
'i.min_price IS NOT NULL',
399+
'i.min_price + io.min_price',
400+
'NULL'
401+
),
402+
'max_price' => $connection->getCheckSql(
403+
'i.max_price IS NOT NULL',
404+
'i.max_price + io.max_price',
405+
'NULL'
406+
),
399407
'tier_price' => $connection->getCheckSql(
400408
'i.tier_price IS NOT NULL',
401409
'i.tier_price + io.tier_price',

app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Indexer/Price/Configurable.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,8 @@ public function executeByDimensions(array $dimensions, \Traversable $entityIds)
149149
);
150150
$this->tableMaintainer->insertFromSelect($select, $temporaryPriceTable->getTableName(), []);
151151

152-
$this->basePriceModifier->modifyPrice($temporaryPriceTable, iterator_to_array($entityIds));
153152
$this->applyConfigurableOption($temporaryPriceTable, $dimensions, iterator_to_array($entityIds));
153+
$this->basePriceModifier->modifyPrice($temporaryPriceTable, iterator_to_array($entityIds));
154154
}
155155

156156
/**

0 commit comments

Comments
 (0)