Magento $this-›getPriceHtml($_product, true) не отображается

Я не совсем уверен, почему это не работает, и я застрял на этом в течение нескольких часов.

У меня есть файл banners.phtml, созданный с использованием следующего обновления макета:

<block type="catalog/product" name="banners" template="page/html/banners.phtml">
<!-- there are further blocks in here, but aren't important --->
</block>

Тип - каталог/продукт, и на странице у меня есть цикл, который передает SKU для загрузки модели каждого продукта:

<?php $_product = Mage::getModel('catalog/product')->loadByAttribute('sku', get_field('product_sku')); ?>

Затем, когда я использую:

<?php echo $this->getPriceHtml($_product, true) ?>

Ничего не показывает - сайт не ломается, но ничего не показывает. Я видел упоминание о том, что тип блока продукта должен быть загружен, но я думал, что это то, что делает каталог/продукт... У кого-нибудь есть идеи?


person Adam Moss    schedule 31.01.2012    source источник
comment
Покажите файл макета. В какой блок вы пытаетесь добавить баннеры?   -  person Roman Snitko    schedule 31.01.2012
comment
это внутри ‹reference name=root›   -  person Adam Moss    schedule 31.01.2012
comment
Что здесь get_field('product_sku')? В magento такой функции нет.   -  person Dmytro Zavalkin    schedule 31.01.2012
comment
Это функция плагина WordPress - эта часть работает нормально, поэтому игнорируйте ее.   -  person Adam Moss    schedule 31.01.2012
comment
Является ли отсутствие дефиса после $this в echo $this>getPriceHtml($_product, true) опечаткой или копией вашего кода в масштабе 1:1?   -  person Jürgen Thelen    schedule 31.01.2012
comment
@Jurgen - да, вы правы, это опечатка, но это не причина, по которой это не работает   -  person Adam Moss    schedule 31.01.2012


Ответы (2)


Я понял, что причина в том, что моя коллекция была полна только сгруппированных продуктов. Поэтому я добавил

->addMinimalPrice() 

на запрос коллекции, и это сработало.

person Adam Moss    schedule 09.01.2013

  1. Перейти к файлу list.phtml
  2. Удалите код " getPriceHtml() ?>".
  3. Добавьте следующий код, чтобы получить простую цену продукта:-
    "echo $_helper->productAttribute($_product, $_product->getPrice(), 'price')"
    Или
    Чтобы получить специальную цену продукта, используйте следующий код:-
    " echo $_helper->productAttribute($_product, $_product->getSpecialPrice(), 'price') "
    Это, безусловно, работает человек. :)
person jagjeet    schedule 18.03.2014