Solicitação de alteração no observador no evento adminhtml_sales_order_create_process_data_before

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

  •  12-12-2019
  •  | 
  •  

Pergunta

Preciso alterar alguns dados na solicitação antes de reordenar no back-end com o observador.Mas estou constantemente falhando na alteração dos parâmetros de solicitação.Existem duas entidades da solicitação, uma no core create controller e outra no observer.Parece que eles não estão conectados de forma alguma.

Minha pergunta:Posso alterar algum dado em adminhtml_sales_order_create_process_data_before influenciar o processo de criação de pedidos ou é melhor afastar-se da função de observador e reescrever a função de controlador?

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;
}
Foi útil?

Solução

Ok, foi minha culpa.Eu estava trabalhando com dados de parâmetros, enquanto a função, que despachou o evento, usou dados de postagem. São dois arrays separados ...E lead examinou meu código e me aconselhou a usar um caminho mais orientado para js para a solução.Portanto, o observador não tem utilidade nisso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top