Cambia richiesta in Observer sull'evento adminhtml_sales_order_create_process_Data_Before

magento.stackexchange https://magento.stackexchange.com//questions/64190

  •  12-12-2019
  •  | 
  •  

Domanda

Ho bisogno di modificare alcuni dati in richiesta prima di riordinare il backend con l'osservatore.Ma sono costantemente fallito nella modifica dei parametri di richiesta.Esistono due entità della richiesta, una del nucleo creato controller e uno in osservatore.Sembra che non siano affatto collegati.

La mia domanda: posso modificare qualsiasi dato su adminhtml_sales_order_create_process_data_before per rendere l'influenza sul processo di creazione dell'ordine, o meglio farsi da parte per la funzione di osservatore e riscrittura del controller?

public function checkPonAndIponData($observer)
{
    $request = $observer->getEvent()->getRequest()->getParams();

    if(isset($request['order']['quote'])) {
        $data['purchase_order_number'] = isset($request['order']['quote']['purchase_order_number'])?:null;
        $data['internal_purchase_order_number'] = isset($request['order']['quote']['internal_purchase_order_number'])?:null;
        foreach($data as $key => $array) {
            if(isset($array['check'])) {
                $data[$key] = isset($array['old'])?:null;
            } else {
                $data[$key] = isset($array['new'])?:null;
            }
            $request['order']['quote'][$key] = $data[$key];
        }
    }

    $observer->getEvent()->getRequest()->setParams($request);
    return $observer;
}
.

È stato utile?

Soluzione

OK, è stato colpa mia.Stavo lavorando con i dati di parametro, mentre la funzione, che ha spedito l'evento, i dati post usati sono due array separati ... e il piombo ha esaminato il mio codice e mi ha consigliato di utilizzare più Sentiero orientato a JS per la soluzione.Quindi l'osservatore non ha alcun uso in questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top