我已经添加了以下内容到一个magento网站我正在工作,它基本上添加登录的用户名到任何评论的订单。
http://www.atwix.com/magento/adding-senders-name-order-comments/
我现在需要做的是添加一些东西来记录哪个用户在管理中创建了订单,或者在每个订单页面上显示消息“已在线订购”。
任何帮助都将不胜感激。
发布于 2013-04-26 07:37:37
创建sales_order_place_after的观察者
<events>
<sales_order_place_after>
<observers>
<orderenteredby>
<type>singleton</type>
<class>orderenteredby/observer</class>
<method>implementOrderMethod</method>
</orderenteredby>
</observers>
</sales_order_place_after>
在Observer.php中
class MagePal_OrderEnteredBy_Model_Observer
{
public function implementOrderMethod($event)
{
$_order = $event->getOrder();
if($this->_isAdmin()){
$_user = Mage::getSingleton('admin/session');
$firstname = $_user->getUser()->getFirstname();
$lastname = $_user->getUser()->getLastname();
$enterBy = "Order entered by {$firstname} {$lastname}";
}
else{
$enterBy = 'Ordered Online';
}
$_order->addStatusHistoryComment($enterBy)
->setIsVisibleOnFront(false)
->setIsCustomerNotified(false);
return $this;
}
protected function _isAdmin(){
if(Mage::app()->getStore()->isAdmin()){
return true;
}
if(Mage::getDesign()->getArea() == 'adminhtml'){
return true;
}
return false;
}
}
有关如何创建观察者的更多信息,请参见Change Magento default status for duplicated products
https://stackoverflow.com/questions/16221437
复制相似问题