Файл шаблона страницы каталога товаров list.phtml
. Где рендеринг всех продуктов в категории происходит с помощью foreach
цикла.
Я запутался по поводу рендеринга price.phtml
. Потому что в ручке нет блока<catalog_category_default>
Теперь <?php echo $this->getPriceHtml($_product, true) ?>
возвращается цена товара.
Как этот метод связан с price.phtml
?
magento-1.7
price
template
Рики Шарма
источник
источник
Ответы:
Отображение цены продукта
Метод
getPriceHtml()
определен в классе блоковMage_Catalog_Block_Product_Abstract
.В методе используется средство визуализации цен, которое зависит от типа продукта:
Рендерер цены - это блок со связанным шаблоном. Оба зависят от типа продукта.
Если для указанного типа продукта не определен ни блок, ни шаблон, по умолчанию используется
catalog/product_price
блок иcatalog/product/price.phtml
шаблон.Где определяются средства визуализации цен и шаблоны для типов продуктов?
Ценовые блоки и средства визуализации обычно указываются с использованием макета XML, поэтому модули, которые добавляют новые типы продуктов, также могут легко добавлять свои собственные средства визуализации. Например. связанный продукт добавляет средство визуализации цены следующим образом в
bundle.xml
файле макета:Пользовательские шаблоны цен или рендеры
Используя тот же механизм, можно также переопределить рендеры по умолчанию. Если вы хотите просто изменить шаблон и сохранить тип ценового блока по умолчанию, просто вызовите
addPriceBlockType
файл макета с блоком по умолчанию (см. Выше) и вашим шаблоном.Рендеринг ценового блока
Код для визуализации блока цены выглядит следующим образом:
$displayMinimalPrice
И$idSuffix
переменные являются дополнительными аргументами дляgetPriceHtml
метода.$idSuffix
Используются в шаблоне цен , чтобы завершить CSS идентификатор<span>
тега окружающего фактическую цену, например:источник