На странице сведений о продукте отображается процент скидки. когда я открываю страницу списка, он не может отображать процент для настраиваемого продукта.
Пожалуйста, дайте мне решение для этого.
Я использовал приведенный ниже код для этого, но он не работает для настраиваемого продукта.
<div class="discount-p">
<?php
if($_product->getTypeId() == "simple") {
$simplePrice = $_product->getPrice();
} else {
$_children = $_product->getTypeInstance()->getUsedProducts($_product);
foreach ($_children as $child){
$simplePrice = $child->getPrice();
break;
}
}
$_finalPrice =$_product->getFinalPrice();
$_price = $simplePrice;
if($_finalPrice < $_price) {
$_savingPercent = 100 - round(($_finalPrice / $_price)*100);
echo '('. $_savingPercent . '%off)';
}
?>
</div>
Ответы:
Вы можете добавить созданный файл с ценами для настраиваемого продукта и код в нем.
добавить код
Поскольку это настраиваемый продукт, невозможно проверить его
getFinalPrice()
иgetSpecialPrice()
.Добавьте ниже код для настраиваемого продукта.
Примечание: вы можете получить это напрямую с помощью файла изменений
app\design\frontend\Vendor\theme\Magento_Catalog\templates\product\price\final_price.phtml
, вам просто нужно поставить условие для конфигурируемого продуктапроцент будет отображаться на странице списка
источник
Я бы сделал что-то подобное
и назовите это в шаблоне
источник
Вы можете проверить это без переопределения любого файла. Вам нужно использовать afterPlugin для этого.
1) Создайте файл di.xml в app / code / VendorName / ModuleName / etc / frontend
2) Создайте файл плагина ProductList.php в app / code / VendorName / ModuleName / Plugin
Выход (в настраиваемом продукте):
Надеюсь, это может быть полезно для вас.
источник
Пожалуйста, попробуйте с кодом ниже:
Я надеюсь, что его работа для вас
источник