Far*_*rid 2 php magento e-commerce
在"特价至今"传递给null之后,我试图恢复"特价".所以基本上当我使用这段代码以编程方式更新我的产品的特价时:
$todayDate = Mage::app()->getLocale()->date()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
$collection = Mage::getModel('catalog/product')->getCollection()
->addStoreFilter()
->addAttributeToFilter('special_price', array('gt' => 0))
->addAttributeToFilter('special_to_date', array('date' => true, 'to' => $todayDate));
echo "Total products found : ".count($collection);
foreach ($collection as $product)
{
$product->setSpecialPrice(null)
->setSpecialFromDate(null)
->setSpecialToDate(null)
->save();
}
echo "<br/> Done!";
Run Code Online (Sandbox Code Playgroud)
但在我将特价更新为null后,magento产品向导不允许我为我的产品设置新的特价.当我保存表格时,它不会给我任何错误,也不会影响特价的任何变化,它仍然是空的!怎么了?!
小智 6
要解决这个问题,请选择更适合您的产品.你可以在过去设置"ToDate",如:
->setSpecialToDate(date("m-d-Y", strtotime('-25 year')));
Run Code Online (Sandbox Code Playgroud)
请注意,如果要将其设置回来,将来必须设置"ToDate",如:
->setSpecialToDate(date("m-d-Y", strtotime('25 year')));
Run Code Online (Sandbox Code Playgroud)
或者代替'null',只需插入一个空字符串''.像这样:
$product->setSpecialPrice('')
->setSpecialToDate('')
->setSpecialFromDate('')
->save()
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助别人
| 归档时间: |
|
| 查看次数: |
7401 次 |
| 最近记录: |