Demande de modification dans l'observateur d'événements adminhtml_sales_order_create_process_data_before

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

  •  12-12-2019
  •  | 
  •  

Question

J'ai besoin de changer certaines données dans la requête avant de les réorganiser en arrière-plan avec le statut d'observateur.Mais je suis constamment en panne dans l'évolution de la demande params.Il y a deux entités de la demande, l'une dans le noyau de créer un contrôleur et un observateur.Semble qu'ils ne sont pas connectés à tous.

Ma question:Je peux peut-être changer toutes les données sur adminhtml_sales_order_create_process_data_before pour faire une influence sur la création de la commande de processus, ou mieux un pas de côté de l'observateur et de réécrire la fonction de contrôleur?

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;
}
Était-ce utile?

La solution

Ok, c'était de ma faute.Je travaillais avec des params de données, tandis que la fonction, qui a envoyé l'événement, a utilisé des données post C'est deux tableaux séparés...Et le plomb a regardé mon code et m'a conseillé d'utiliser plus de js orienté chemin d'accès à la solution.Si l'observateur n'a pas d'utilisation cette.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top