1

私はマジェントを使用してCE 1.7います。注文の請求書​​または発送者のユーザー名をコメント履歴に表示したいと考えています。をオーバーライドしMage_Sales_OrderControllerて、ユーザー名を に追加しますaddCommentAction(){..}。ただし、注文を作成/請求するときではなく、ユーザーがコメントを追加したときにのみ機能します。提案をお願いします。

4

1 に答える 1

0

修正しました。これが解決策です。オーバーライドしました 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;
    }

}
于 2013-07-23T08:21:15.803 に答える