在Magento以编程方式设定特价

时间:2010-11-12 18:53:58

标签: magento

我正在尝试编写一个脚本,该脚本将在具有开始日期和结束日期的产品上设置特殊价格。当我运行我的脚本时,它确实成功设置了特殊价格,但是开始和结束日期不会填充在管理面板中。

我正在运行的代码如下:

$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();

有谁知道我在这里做错了什么?

2 个答案:

答案 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)?这应该会导致后端模型为您重新格式化。