我正在尝试编写一个脚本,该脚本将在具有开始日期和结束日期的产品上设置特殊价格。当我运行我的脚本时,它确实成功设置了特殊价格,但是开始和结束日期不会填充在管理面板中。
我正在运行的代码如下:
$product = Mage::getModel('catalog/product')->load(114912);
$product->setSpecialPrice( ($product->getPrice() * .90) );
$product->setSpecialFromDate('2010-11-01');
$product->setSpecialFromDateIsFormated(true);
$product->setSpecialToDate('2010-11-30');
$product->setSpecialToDateIsFormated(true);
$product->save();
有谁知道我在这里做错了什么?
答案 0 :(得分:23)
我刚刚在我的目录上尝试了你的代码,并且它有点适用。
你应该注意装满的商店;
如果ADMIN存储不是当前加载的(Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
),则不允许更新某些产品字段。
<?php
require_once('app/Mage.php');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
...
$product->save();
?>
答案 1 :(得分:0)
这只是猜测,但您是否尝试过time()
之类的时间戳并遗漏setSpecialFromDateIsFormated(true)
?这应该会导致后端模型为您重新格式化。