2

私たちのチームの管理者の1人が注文にコメントを作成するとき、私は彼らが書いたコメントで彼らの名前を正しく示したいと思います。

これは、コメントが行われたことを確認したときに、誰がコメントしているかを知るのに役立ちます。

1.4の場合、これに対する解決策がいくらか見つかりましたが、1.7を使用しているため、1.4の解決策を使用すると失敗する可能性があります。

誰かが助けることができれば、それは大いにありがたいです。皆さんありがとう!

解決済み

私はRSによる答えを聞きました。彼の以前の短い編集では、このコードを次のように追加するだけでした。

/app/code/core/Mage/Adminhtml/controllers/Sales/OrderController.php

    public function addCommentAction(){
 ......

 // get the login info of current user
 $_user = Mage::getSingleton('admin/session');
 $user['email'] = $_user->getUser()->getEmail();
 $user['firstname'] = $_user->getUser()->getFirstname();
 $user['lastname'] = $_user->getUser()->getLastname();

 $order->addStatusHistoryComment($data['comment'] . " Add by {$user['firstname']}", $data['status'])
                ->setIsVisibleOnFront($visible)
                ->setIsCustomerNotified($notify);

そして、これは完璧に機能します!

4

1 に答える 1

1

簡単にしたい場合は、データベースに新しいフィールドを作成してコードを減らす代わりに、コメントの前後にコメントを書き込んだユーザーのユーザー名を追加できます。(例:「これは私のコメントです-xxxx yyyyyによって追加されました)

管理者注文コントローラーを拡張するカスタムモジュールを作成する。(「フロントエンドコアコントローラーのオーバーライド」http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/を参照)

/app/code/local/RWS/OrderComment/etc/config.xmlを作成します

<?xml version="1.0"?>
<config>
    <modules>
        <RWS_OrderComment>
            <version>0.1.0</version>
        </RWS_OrderComment>
    </modules>

    <admin>
      <routers>
        <adminhtml>
          <args>
            <modules>
              <RWS_OrderComment before="Mage_Adminhtml">RWS_OrderComment_Adminhtml</RWS_OrderComment>
            </modules>
          </args>
        </adminhtml>
      </routers>
  </admin>
</config>

/app/code/local/RWS/OrderComment/controllers/Adminhtml/Sales/OrderController.phpを作成します

(addCommentActionメソッドを/app/code/core/Mage/Adminhtml/controllers/Sales/OrderController.phpからコピーします)

<?php
   include_once Mage::getModuleDir('controllers', 'Mage_Adminhtml') . DS . 'Sales' . DS . 'OrderController.php';

   class RWS_OrderComment_Adminhtml_Sales_OrderController extends Mage_Adminhtml_Sales_OrderController
   {

       public function addCommentAction(){
          ......

          // get the login info of current user
          $_user = Mage::getSingleton('admin/session');
          $user['email'] = $_user->getUser()->getEmail();
          $user['firstname'] = $_user->getUser()->getFirstname();
          $user['lastname'] = $_user->getUser()->getLastname();

          $order->addStatusHistoryComment($data['comment'] . " Added by {$user['firstname']}", $data['status'])
                ->setIsVisibleOnFront($visible)
                ->setIsCustomerNotified($notify);
        }
    }

app / etc / modules/RWS_OrderComment.xmlを作成します

<?xml version="1.0" encoding="UTF-8"?>
<config>
   <modules>
       <RWS_OrderComment>
           <active>true</active>
           <codePool>local</codePool>
       </RWS_OrderComment>
   </modules>
</config>
于 2012-10-23T21:48:02.830 に答える