Trong trang xem mặc định magento hiển thị giá thấp nhất của các sản phẩm liên quan.
Tôi cần hiển thị giá cao nhất của các sản phẩm liên quan. Bất kỳ ai cũng có ý tưởng nơi logic được cư trú. Làm thế nào để tùy chỉnh hành vi này.
cập nhật:
Magento \ ConfigurableSản phẩm \ Vật giá \ Giá \ Cấu hình Bảng giáResolver
/**
* @param \Magento\Framework\Pricing\SaleableInterface|\Magento\Catalog\Model\Product $product
* @return float
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function resolvePrice(\Magento\Framework\Pricing\SaleableInterface $product)
{
$price = null;
foreach ($this->configurable->getUsedProducts($product) as $subProduct) {
$productPrice = $this->priceResolver->resolvePrice($subProduct);
$price = $price ? min($price, $productPrice) : $productPrice;
}
if (!$price) {
throw new \Magento\Framework\Exception\LocalizedException(
__('Configurable product "%1" do not have sub-products', $product->getName())
);
}
return (float)$price;
}
Tôi đang cố gắng ghi đè tập tin cốt lõi này, nhưng nó không hoạt động.
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver" type="Kensium\Catalog\Pricing\Price\ConfigurablePriceResolver" />
<?php
namespace Kensium\Catalog\Pricing\Price;
class ConfigurablePriceResolver extends \Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver
{
/**
* @param \Magento\Framework\Pricing\SaleableInterface|\Magento\Catalog\Model\Product $product
* @return float
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function resolvePrice(\Magento\Framework\Pricing\SaleableInterface $product)
{
$price = null;
$assPrice=array();
foreach ($this->configurable->getUsedProducts($product) as $subProduct) {
$productPrice = $this->priceResolver->resolvePrice($subProduct);
$assPrice[]=$productPrice;
$price = $price ? min($price, $productPrice) : $productPrice;
}
if (!$price) {
throw new \Magento\Framework\Exception\LocalizedException(
__('Configurable product "%1" do not have sub-products', $product->getName())
);
}
return (float)(max($assPrice));
//return (float)$price;
}
}