管理员从后端创建销售订单时获取客户信息

时间:2016-01-27 05:46:21

标签: php magento

我发现了一个主题,但它没有解决我的问题: Get customer details in backend admin panel order

我写了一个Observer catalog_product_get_final_price 来改变产品加载到购物车时的价格。

<events>
            <catalog_product_get_final_price>
                <observers>
                    <Soft3S_Pricelistview_Model_Observer>
                        <type>singleton</type>
                           <class>Soft3S_Pricelistview_Model_Observer</class>
                        <method>get_final_price</method>
                    </Soft3S_Pricelistview_Model_Observer>
                </observers>
            </catalog_product_get_final_price>
        </events>

适用于前端页面。 我还希望它在管理员创建销售订单时适用于后端页面    在Observer.php中,我尝试获取客户信息:

public function get_final_price($observer)
{



{
    $customer = Mage::getSingleton('customer/session')->getCustomer();
    $customer_id=$customer->getEntityId();
    $customer_Firstname = Mage::getSingleton('customer/session')->getCustomer()->getFirstname();


//var_dump($customer);
  //  var_dump($customer_erpcode);

$discount = 0.3;

$event = $observer->getEvent();
$product = $event->getProduct();
$product->original_price = $product->getPrice();

//$final_price = ($product->original_price ) * (1 – $discount);
        Mage::log('Log order number : '.print_r(Mage::getSingleton('core/session'),true).'  product code'.$product->getData('sku').'  '  , null, 'Trace unit price after load.log');
       print ($customer_id);

$product->setFinalPrice(300000);

return $this;
}
}

打印出空值。 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

试试这段代码。它在我的工作结束。

    $sessionquoteId = Mage::getSingleton('adminhtml/session_quote')->getQuote()->getId();
    $sessionCustomerId = Mage::getModel('sales/quote')->loadByIdWithoutStore($sessionquoteId)->getCustomerId();
    //$customerInfo = Mage::getModel('customer/customer')->load($sessionCustomerId);

希望这对你有所帮助。