El archivo de plantilla de la página de listado de productos de catálogo es list.phtml
. Donde la representación de todos los productos en la categoría ocurre usando el foreach
bucle.
Estoy confundido acerca de la representación de la price.phtml
. Porque no hay bloque en el mango<catalog_category_default>
Ahora, <?php echo $this->getPriceHtml($_product, true) ?>
devuelve el precio del producto.
¿Cómo se vincula este método price.phtml
?
magento-1.7
price
template
Ricky Sharma
fuente
fuente
Respuestas:
Exhibición del precio del producto
El método
getPriceHtml()
se define en la clase de bloqueMage_Catalog_Block_Product_Abstract
.El método utiliza un procesador de precios que depende del tipo de producto:
El procesador de precios es un bloque con una plantilla asociada. Ambos dependen del tipo de producto.
Si no hay un bloque o plantilla definida para el tipo de producto especificado, el
catalog/product_price
bloque y lacatalog/product/price.phtml
plantilla están predeterminados .¿Dónde se definen los procesadores de precios y las plantillas para los tipos de productos?
Los bloques de precios y los renderizadores generalmente se especifican utilizando XML de diseño, por lo que los módulos que agregan nuevos tipos de productos también pueden agregar fácilmente sus propios renderizadores. Por ejemplo. el producto incluido agrega su procesador de precios de la siguiente manera en el
bundle.xml
archivo de diseño:Plantillas de precios o renderizadores personalizados
Usando el mismo mecanismo también es posible anular los renderizadores predeterminados. Si solo desea cambiar la plantilla y mantener el tipo de bloque de precio predeterminado, simplemente llame
addPriceBlockType
al archivo de diseño con el bloque predeterminado (ver arriba) y su plantilla.Renderizar el bloque de precios
El código para representar realmente el bloque de precios se ve así:
Las variables
$displayMinimalPrice
y$idSuffix
son argumentos opcionales delgetPriceHtml
método.Se
$idSuffix
utiliza en la plantilla de precio para completar la identificación CSS de la<span>
etiqueta que rodea el precio real, por ejemplo:fuente