Auf der Produktdetailseite wird ein Rabattprozentsatz angezeigt. Wenn ich die Listenseite öffne, kann der Prozentsatz für das konfigurierbare Produkt nicht angezeigt werden.
Bitte geben Sie mir die Lösung dafür.
Ich habe den folgenden Code dafür verwendet, aber er funktioniert nicht für das konfigurierbare Produkt.
<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>
Antworten:
Sie können eine Saperate-Preisdatei für das konfigurierbare Produkt und den darin enthaltenen Code hinzufügen.
Code hinzufügen
da es sich um ein konfigurierbares Produkt handelt, ist es nicht möglich, es durch
getFinalPrice()
und zu überprüfengetSpecialPrice()
.Fügen Sie den folgenden Code für das konfigurierbare Produkt hinzu.
Hinweis: Sie können dies direkt durch Ändern der Datei erhalten
app\design\frontend\Vendor\theme\Magento_Catalog\templates\product\price\final_price.phtml
. Sie müssen lediglich die Bedingung für das konfigurierbare Produkt festlegenDer Prozentsatz wird auf der Listenseite angezeigt
quelle
Ich würde so etwas tun
und nenne es in Vorlage
quelle
Sie können es überprüfen, ohne eine Datei zu überschreiben. Sie müssen dafür afterPlugin verwenden .
1) Erstellen Sie die Datei di.xml unter app / code / VendorName / ModuleName / etc / frontend
2) Erstellen Sie die Plugin-Datei ProductList.php unter app / code / VendorName / ModuleName / Plugin
Ausgabe (im konfigurierbaren Produkt):
Hoffe, es ist vielleicht hilfreich für dich.
quelle
Bitte versuchen Sie es mit dem folgenden Code:
Ich hoffe, es funktioniert für Sie
quelle