Di halaman detail produk, itu menunjukkan persentase diskon. ketika saya membuka halaman daftar itu tidak dapat menunjukkan persentase untuk produk yang dapat dikonfigurasi.
Tolong beri saya solusi untuk itu.
Saya telah menggunakan kode di bawah ini untuk itu, tetapi tidak berfungsi untuk produk yang dapat dikonfigurasi.
<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>
Jawaban:
Anda dapat menambahkan membuat file harga saperate untuk produk dan kode yang dapat dikonfigurasi di dalamnya
tambahkan kode
karena produk yang dapat dikonfigurasi tidak dapat diperiksa oleh
getFinalPrice()
dangetSpecialPrice()
.tambahkan kode di bawah ini untuk produk yang dapat dikonfigurasi.
Catatan: Anda bisa mendapatkan ini secara langsung dengan mengubah file
app\design\frontend\Vendor\theme\Magento_Catalog\templates\product\price\final_price.phtml
, Anda hanya harus meletakkan kondisi untuk produk yang dapat dikonfigurasipersentase akan ditampilkan di halaman daftar
sumber
Saya akan melakukan sesuatu seperti ini
dan menyebutnya dalam templat
sumber
Anda dapat memeriksanya dengan tanpa menimpa file apa pun. Anda perlu menggunakan afterPlugin untuk itu.
1) Buat file di.xml di app / code / VendorName / ModuleName / etc / frontend
2) Buat file plugin ProductList.php di app / code / VendorName / ModuleName / Plugin
Output (Dalam Produk yang dapat dikonfigurasi):
Semoga bermanfaat bagi Anda.
sumber
Silakan coba dengan kode di bawah ini:
Saya harap ini berhasil untuk Anda
sumber