如何在订单备注历史记录中包括已开票/已发货用户的用户名


How to include username of the invoiced/shipped user in order comment history?

我使用的是magento CE 1.7。我想显示已开具发票或发货人的订单用户名,以便与评论历史记录一起显示。我覆盖Mage_Sales_OrderController以将用户名附加到addCommentAction(){..}中。但它只有在用户添加注释时才有效,而不是在创建/开具订单发票时。有什么建议吗?

修复了它。以下是解决方案。我已覆盖Mage_Sales_Model_Order

class Add_OrderComment_Model_Order extends Mage_Sales_Model_Order 
{
    public function addStatusHistoryComment($comment, $status = false)
    {
        if(Mage::getSingleton('admin/session')->isLoggedIn())
        {
            // Getting admin username.
            $user = Mage::getSingleton('admin/session');
            $username = $user->getUser()->getUsername();
            $append = " <strong>(Updated by : ".$username.")</strong>";
        }
        else 
        {
            $append = "";
        }
        if (false === $status) {
            $status = $this->getStatus();
        } elseif (true === $status) {
            $status = $this->getConfig()->getStateDefaultStatus($this->getState());
        } else {
            $this->setStatus($status);
        }
        $history = Mage::getModel('sales/order_status_history')
            ->setStatus($status)
            ->setComment($comment.$append)
            ->setEntityName($this->_historyEntityName);
        $this->addStatusHistory($history);
        return $history;
    }
}
相关文章: