产品特价不在Magento中显示

时间:2014-05-13 09:11:18

标签: php magento magento-1.8

我遇到了这个问题。虽然我得到了解决方案,但我仍然想知道为什么它会抓住它。 我有一个桌面版和移动版的Magento网站。 在类别页面上,它会显示您已知的产品列表。现在,有一个问题

我得到了每个产品的结构:

Product Name
Image
Regular Price
Special Price

在移动版中可以,但桌面版没有特价。 我以前编码

"$product->getSpecialPrice()" 

得到它但不起作用。 这些版本的不同之处仅在于前端,后端的所有功能都是相同的。确切地说,产品数据由相同的函数检索

getLoadedProductCollection()
Magento Core产品列表块的

。所以,我真的不明白为什么我可以通过在移动版本中调用$product->getSpecialPrice()而不是在桌面版本中获得特价的价值。

请帮帮我,谢谢。

2 个答案:

答案 0 :(得分:0)

 <?php
include_once 'app/Mage.php';
Mage::app();
Mage::getSingleton('core/session', array('name' => 'frontend'));

$_productCollection = Mage::getResourceModel('catalogsearch/advanced_collection')
            ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
            ->addMinimalPrice()
            ->addStoreFilter();

Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($_productCollection);
Mage::getSingleton('catalog/product_visibility')->addVisibleInSearchFilterToCollection($_productCollection);


$todayDate = date('m/d/y');
$tomorrow = mktime(0, 0, 0, date('m'), date('d')+1, date('y'));
$tomorrowDate = date('m/d/y', $tomorrow);

$_productCollection->addAttributeToFilter('special_from_date', array('date' => true, 'to' => $todayDate))
    ->addAttributeToFilter('special_to_date', array('or'=> array(
    0 => array('date' => true, 'from' => $tomorrowDate),
    1 => array('is' => new Zend_Db_Expr('null')))
    ), 'left');

foreach($_productCollection as $_product){
    if($_product->getData('special_price')!=null){
        echo '<img src="'.$this->helper('catalog/image')->init($_product, 'thumbnail')->resize(75).'" alt="'.$_product->getName().'" /><br />';
        echo $_product->getName().'<br />';

    $specialPrice = $_product->getData('special_price');
    $orignalPrice = $_product->getData('price');
        echo number_format($specialPrice, 2)."<br/>";
        echo number_format($orignalPrice, 2)."<br/>";                    
        echo '<a href="http://www.yourwebsite.com/magento/checkout/cart/add?product='.$_product->getId().'&qty;=1">Add To Cart</a><br />';
    }
}
?> 

答案 1 :(得分:0)

只需使用getFinalPrice而不是getSpecialPrice。 :d