首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新Magento特价

更新Magento特价
EN

Stack Overflow用户
提问于 2011-01-08 17:49:30
回答 1查看 8.1K关注 0票数 2

我试图在“特价到日期”传递为null后恢复“特价”。所以基本上,当我使用下面的代码以编程方式更新产品的特价时:

代码语言:javascript
复制
$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!";

但是在我将我的特价更新为空之后,magento产品向导不允许我为我的产品设置新的特价。当我保存表单时,它没有给我任何错误,也没有影响特价的任何变化,它仍然是空的!怎么了?!

EN

回答 1

Stack Overflow用户

发布于 2011-05-09 16:43:28

为了解决这个问题,选择更适合你的。您可以像这样设置过去的"ToDate“:

代码语言:javascript
复制
->setSpecialToDate(date("m-d-Y", strtotime('-25 year')));

请注意,如果您想要将其设置回去,您将不得不在将来设置"ToDate“,如下所示:

代码语言:javascript
复制
->setSpecialToDate(date("m-d-Y", strtotime('25 year')));

或者,只需插入一个空字符串'‘,而不是'null’。如下所示:

代码语言:javascript
复制
$product->setSpecialPrice('')
        ->setSpecialToDate('')
        ->setSpecialFromDate('')
        ->save()

希望这能帮助到某人

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4633314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档