Solicitud de cambio en el observador en el evento adminhtml_sales_order_create_process_data_before

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

  •  12-12-2019
  •  | 
  •  

Pregunta

Necesito cambiar algunos datos solicitados antes de reordenar en backend con observador.Pero estoy constantemente fallando en cambiar los parámetros de solicitud.Hay dos entidades de la solicitud, una en el núcleo crea un controlador y uno en el observador.Parece que no están conectados en absoluto.

MI PREGUNTA: ¿Puedo cambiar cualquier dato en adminhtml_sales_order_create_process_data_before para hacer influencia en el proceso de creación de pedidos, o un mejor paso a un lado de la función de controlador de observadores y reescritura?

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;
}

¿Fue útil?

Solución

OK, fue mi culpa.Estaba trabajando con los datos de Params, mientras que la función, que envió el evento, utilizó los datos de publicación, esto es dos matrices separadas ... y el plomo ha examinado mi código y me aconsejó que usara más ruta orientada a la solución de JS.Así que el observador no tiene uso en esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top