我已经从themeforest购买了一个模板,我注意到热销标签中的条目停止显示special_to_date
属性设置的前一天(同时一般产品列表是正确的,并显示待售产品包括活动的最后一天)。
因此,如果我们在8月25日至27日设置一个营地,热销标签是空的(今天),但产品仍然在一般清单上销售(他们应该)。
所以我查看了模板代码,发现了这个:
$todayDate = Mage::app()->getLocale()->date()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
$collection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
->addAttributeToFilter('special_from_date', array('or'=> array(
0 => array('date' => true, 'to' => $todayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToFilter('special_to_date', array('or'=> array(
0 => array('date' => true, 'from' => $todayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToFilter(
array(
array('attribute' => 'special_from_date', 'is'=>new Zend_Db_Expr('not null')),
array('attribute' => 'special_to_date', 'is'=>new Zend_Db_Expr('not null'))
)
)
->addAttributeToSort('price', 'asc')
->addTaxPercents()
->addStoreFilter();
现在,我对Magento的程序员来说并不是那么好......而且我并不理解这些addAttributeToFilter
,但我最好的选择是这是独家的(关于活动结束日期):
->addAttributeToFilter('special_to_date', array('or'=> array(
0 => array('date' => true, 'from' => $todayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
所以,如果你能对此有所了解,请做。我只是凭借我的小知识猜测这将是不会在last day
special_to_date
中收集产品的问题。