У меня есть скроллер, показывающий коллекцию продуктов, которые в настоящее время продаются, и я вызываю их следующим образом:
$todayDate = Mage::app()->getLocale()->date()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('visibility', $visibility)
->setPageSize(4) // Only return 4 products
->addAttributeToFilter('special_from_date', array('date' => true, 'to' => $todayDate))
->addAttributeToFilter('special_to_date', array('or'=> array(
0 => array('date' => true, 'from' => $todayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToSort('special_from_date', 'desc');
$_productCollection->load();
Затем я запускаю foreach, чтобы получить отдельные продукты:
foreach ($_productCollection as $_product)
Все работает отлично, за исключением цены, которую я обычно называю, используя
$this->getPriceHtml($_product, true)
Однако это дает мне пустое место.Если я сделаю var_dump, я увижу, что доступны как исходная цена, так и специальная цена, так почему же это не работает?Я использую точно такой же код в шаблоне моей домашней страницы, который я звоню через CMS домашней страницы, и цена отображается в порядке (с перечеркнутой обычной ценой и специальной ценой).
Использование $ _ product-> getFinalPrice () работает нормально, но дает мне только окончательную «специальную» цену и не показывает исходную цену.
Яможет быть, что-то отсутствует в моем макете xml, что необходимо для отображения цен с помощью getPriceHtml ?