Solicitud de cambio en el observador en el evento adminhtml_sales_order_create_process_data_before
-
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;
}
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.