Php 在Magento销售订单视图中显示订单注释作者的姓名

Php 在Magento销售订单视图中显示订单注释作者的姓名,php,magento,magento-1.7,Php,Magento,Magento 1.7,我创建了一个自定义模块,允许在Magento前端提交订单评论 销售\客人\视图 我可以在前端显示评论作者的姓名,但我还需要在“销售订单”视图的“管理”面板中显示该姓名 原因是在Magento Admin中跟踪订单注释等 这是表单的前端控制器,它显示了作者的姓名 <?php require_once Mage::getModuleDir('Controller', 'Mage_Sales') . DS . 'Controller' . DS . 'Abstract.php'; class

我创建了一个自定义模块,允许在Magento前端提交订单评论 销售\客人\视图

我可以在前端显示评论作者的姓名,但我还需要在“销售订单”视图的“管理”面板中显示该姓名

原因是在Magento Admin中跟踪订单注释等

这是表单的前端控制器,它显示了作者的姓名

<?php

require_once Mage::getModuleDir('Controller', 'Mage_Sales') . DS . 'Controller' . DS . 'Abstract.php';

class Tamedo_FrontendOrderMessage_FormController extends Mage_Sales_Controller_Abstract {

    protected $_guest_cookieName  = 'guest-view';
    protected $_guest_lifeTime    = 600;

    public function orderAction() {
        if(Mage::getSingleton('customer/session')->isLoggedIn()) {
            $this->_loadValidOrder();
        } else {
            Mage::helper('sales/guest')->loadValidOrder();
        }
        $order = Mage::registry('current_order');
        $orderId = $order->getId();
        if(empty($orderId)) {
            if (Mage::getSingleton('customer/session')->isLoggedIn()) {
                $this->_redirect('sales/order/history');
            } else {
                $this->_redirect('sales/guest/form');
            }
        } else {
            $data = $this->getRequest()->getParams();
            if (!empty($data['history']['comment']))
                $append = " Posted By: ".$username.""; {
                $order->addStatusHistoryComment($data['history']['comment'], false)
                        ->setIsVisibleOnFront(true)
                        ->setIsCustomerNotified(false);
                $order->save();
            }
            if (Mage::getSingleton('customer/session')->isLoggedIn()) {
                $this->_redirect('sales/order/view', array('order_id' => $order->getId()));
            } else {
                $toCookie = base64_encode($order->getProtectCode());
                Mage::getSingleton('core/cookie')->set($this->_guest_cookieName, $toCookie, $this->_guest_lifeTime, '/');
                $this->_redirect('sales/guest/view');
            }
        }
    }

}

我不能100%确定您想做什么,但您可以尝试使用订单账单或发货名称作为用户名,或者获取当前登录用户信息

从会话中获取客户名称的步骤

$username = Mage::getSingleton('customer/session')->getCustomer()->getName()
从订单中获取客户信息

$username = $order->getCustomerFirstname() . ' ' . $order->getCustomerLastname()
然后将代码更新为

.....
if (!empty($data['history']['comment']))
    $comment = $data['history']['comment'] . " Posted By: {$username}."; {
    $order->addStatusHistoryComment($comment, false)
          ->setIsVisibleOnFront(true)
          ->setIsCustomerNotified(false);
    $order->save();
 }

我不是100%确定你想做什么,但是你可以尝试使用订单账单或发货名称作为用户名,或者获取当前登录用户信息

从会话中获取客户名称的步骤

$username = Mage::getSingleton('customer/session')->getCustomer()->getName()
从订单中获取客户信息

$username = $order->getCustomerFirstname() . ' ' . $order->getCustomerLastname()
然后将代码更新为

.....
if (!empty($data['history']['comment']))
    $comment = $data['history']['comment'] . " Posted By: {$username}."; {
    $order->addStatusHistoryComment($comment, false)
          ->setIsVisibleOnFront(true)
          ->setIsCustomerNotified(false);
    $order->save();
 }

基本上,我已经为Magento构建了一个呼叫中心应用程序,它使用类似的前端布局和模板结构来下订单。唯一的区别是呼叫中心代理必须登录网站才能通过电话下订单。如果代理添加评论,我需要它反映在Magento管理中,因为客户服务团队需要跟踪订单历史记录,以防客户打电话投诉……基本上,我为Magento构建了一个呼叫中心应用程序,该应用程序使用类似的前端布局和模板结构下单。唯一的区别是呼叫中心代理必须登录网站才能通过电话下订单。如果代理添加评论,我需要在Magento admin中反映出来,因为客户服务团队需要跟踪订单历史记录,以防客户打电话投诉。。。