Ho una scroller che mostra una collezione di prodotti attualmente in commercio, che io chiamo utilizzando la seguente:
$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();
Ho quindi eseguito un foreach per ottenere il i singoli prodotti:
foreach ($_productCollection as $_product)
tutto funziona bene, tranne che per il prezzo, che io di solito chiamata utilizzando
$this->getPriceHtml($_product, true)
Tuttavia questo mi sta dando un vuoto. Se faccio un var_dump posso vedere che sia il prezzo originale sia il prezzo speciale sono entrambi disponibili, quindi perché non funziona? Io uso esattamente lo stesso codice sul mio modello di homepage, che chiamo tramite il CMS della homepage, e il prezzo è mostrato bene (con il prezzo normale barrato e il prezzo speciale mostrato).
Utilizzo di $ _product-> getFinalPrice() funziona correttamente, ma solo mi dà il prezzo finale "speciale" e non mostra il prezzo originale.
Mi manca forse qualcosa nel mio layout xml che è necessario per mostrare i prezzi usando getPriceHtml?
A quale blocco si riferisce $? – clockworkgeek