Magento получить идентификатор цитаты от наблюдателя

Я пытаюсь создать заказ от администратора (для телефонного заказа). В этой ситуации мне нужно получить идентификатор цитаты от наблюдателя. Я попробовал ниже наблюдателя (ей)

sales_quote_save_after
sales_model_service_quote_submit_success
sales_quote_product_add_after

Я пытался получить идентификатор с помощью этого,

$id = $observer->getQuoteId();

А также
Я пытался напечатать эти элементы цитаты, но я получаю пустые значения.

Может ли кто-нибудь помочь мне разобраться с этим?

1

Решение

В случае sales_quote_product_add_after quote_item передается Наблюдателю.
Чтобы получить цитату из этого Обозревателя и идентификатор:

public function yourMethod($observer)
{
$quoteItem = $observer->getEvent()->getQuoteItem();
$quote = $quoteItem->getQuote();
$id = $quote->getId();
}

В случае sales_model_service_quote_submit_success Вы прошли порядок и котировка

public function yourMethod($observer)
{
$order= $observer->getEvent()->getOrder();
$quote= $observer->getEvent()->getQuote();
$id = $quote->getId();
}

В случае sales_quote_save_after ты прошел котировка так как в Приложение / код / ​​ядро ​​/ Mage / Продажа / Модель / Quote.php

protected $_eventObject = 'quote';

Тогда у вашего обозревателя вы можете получить это:

public function yourMethod($observer)
{
$quote= $observer->getEvent()->getQuote();
$id = $quote->getId();
}
2

Другие решения

Я исправил это, используя приведенное ниже решение,
Я использовал ниже событие

sales_quote_item_set_product

На самом деле я попытался установить цену для настраиваемого продукта, соответствующую цене соответствующего продукта. И мой наблюдатель

$event      = $observer->getEvent();
$quote_item = $event->getQuoteItem();
$storeId    = $quote_item->getStoreId();

if(Mage::app()->getStore()->isAdmin()) {

$item       = $observer->getQuoteItem();
$product    = $observer->getProduct();
$sku        = $product->getSku();
$productDetails     =  Mage::getModel('catalog/product')
->setStoreId($storeId)
->loadByAttribute('sku',$sku);

$price      = $productDetails->getPrice();
$sprice     = $productDetails->getFinalPrice();

$item->setOriginalCustomPrice($sprice);
$item->setOriginalPrice($price);

}

$quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
1

По вопросам рекламы [email protected]