Katalog File templat halaman daftar produk adalah list.phtml
. Di mana rendering semua produk dalam kategori terjadi menggunakan foreach
loop.
Saya bingung tentang rendering dari price.phtml
. Karena tidak ada blok untuk itu dalam penanganan<catalog_category_default>
Sekarang, <?php echo $this->getPriceHtml($_product, true) ?>
kembalikan harga produk.
Bagaimana metode ini ditautkan price.phtml
?
magento-1.7
price
template
Ricky Sharma
sumber
sumber
Jawaban:
Tampilan harga produk
Metode
getPriceHtml()
ini didefinisikan dalam kelas blokMage_Catalog_Block_Product_Abstract
.Metode ini menggunakan penyaji harga yang tergantung pada jenis produk:
Penyaji harga adalah blok dengan templat terkait. Keduanya tergantung pada jenis produk.
Jika tidak ada blok atau template yang ditentukan untuk jenis produk yang ditentukan, itu default ke
catalog/product_price
blok dancatalog/product/price.phtml
template.Di mana penentu harga dan templat untuk jenis produk ditentukan?
Blok harga dan penyaji biasanya ditentukan menggunakan tata letak XML, sehingga modul yang menambahkan jenis produk baru dapat dengan mudah menambahkan penyaji mereka sendiri juga. Sebagai contoh. produk yang dibundel menambahkan renderer harganya sebagai berikut dalam
bundle.xml
file tata letak:Templat harga khusus atau penyaji
Menggunakan mekanisme yang sama juga memungkinkan untuk mengganti penyaji default. Jika Anda hanya ingin mengubah template, dan tetap menggunakan tipe blok harga default, cukup panggil
addPriceBlockType
file layout dengan blok default (lihat di atas) dan template Anda.Merender blok harga
Kode untuk benar-benar membuat blok harga terlihat seperti ini:
The
$displayMinimalPrice
dan$idSuffix
variabel argumen opsional dengangetPriceHtml
metode.The
$idSuffix
digunakan dalam template harga untuk menyelesaikan id CSS dari<span>
tag seputar harga sebenarnya, misalnya:sumber