【问题标题】:How to add custom date in order history comment in magento programmatically?如何以编程方式在magento的订单历史评论中添加自定义日期?
【发布时间】:2014-12-24 08:20:08
【问题描述】:

我正在更新/插入带有自定义日期的新评论,但评论添加的是当前日期和时间而不是自定义日期, 使用此代码

$new_date='2010-01-01';
$order->setData('created_at',$new_date);
$order->addStatusToHistory($order->getStatus(), 'This comment is programatically added', false);
$order->save();

如何添加这个自定义日期?有什么方法可以实现这个..

【问题讨论】:

    标签: magento magento-1.8


    【解决方案1】:

    你可以这样做:

    $history = Mage::getModel('sales/order_status_history')
        ->setStatus($order->getStatus())
        ->setComment('My Comment!')
        ->setEntityName(Mage_Sales_Model_Order::HISTORY_ENTITY_NAME)
        ->setIsCustomerNotified(false)
        ->setCreatedAt(date('Y-m-d H:i:s', time() - 60*60*24));
    
    $order->addStatusHistory($history);
    $order->save();
    

    请注意,在数据库中保存时间时不需要计算时区偏移量。 Magento 预计时间是 UTC 并且已经使用date_default_timezone_set('UTC'); 设置了默认时区,因为我们可以使用time() 函数。 Magento 将根据System > Configuration > General > Locale Options 中的配置在前端/管理员上显示值之前即时计算时间偏移量

    【讨论】:

    • @Skeletor 在我尝试将此代码作为“错误消息:SQLSTATE[23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败(db-name .sales_flat_order_status_history, CONSTRAINT FK_CE7C71E74CB74DDACED337CEE6753D5E FOREIGN KEY (parent_id) REFERENCES sales_flat_order (entity_id) ON DELETE CASCADE ON U),查询是:INSERT INTO sales_flat_order_status_history (status, @9876543 987654334@, entity_name) 值 (?, ?, '2017-08-30 11:44:16', ?)"
    猜你喜欢
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多