tarek.fellah Posted July 22, 2016 Share Posted July 22, 2016 (edited) Bonjour, Je suis à la développement d'un module qui insère du code javascript dans le header des pages de confirmation de commande. Mais j'ai pas trouvé comment le mettre pour le module paypal et le module cmccicpaiement. Pour les modules virement bancaire c'est bon J'ai mis ce code dans la méthode hookHeader public function hookHeader($params){ if(!$this->context->controller->php_self){ return ''; } if(('order-confirmation' == $this->context->controller->php_self ) && Configuration::get('page') == 'confirmation de commande'){ return $this->_getEulerianTrackingOrderConfirmation(); }elseif(strpos('validation', $_SERVER['PHP_SELF']) !== false AND Configuration::get('page') == 'confirmation de commande'){ return $this->_getEulerianTrackingOrderConfirmation(); } elseif ( 'order' == $this->context->controller->php_self AND (int)Tools::getValue('step')==3 && 'méthode de paiement' == Configuration::get('page') ){ $id_cart = $params['cart']->id; return $this->_getEulerianTrackingPaymentChoice($id_cart); } else { return $this->_getEulerianTracking(); } } function _getEulerianTrackingOrderConfirmation(){ $email = ""; if ($this->context->customer && $this->context->customer->isLogged()){ $email = $this->context->customer->email; } $id_order = Tools::getValue('id_order'); $order = new Order((int)$id_order); $products = $order->getProducts(); $return = ''; foreach($products as $product){ $p[] = array('reference' => $product['reference'], 'price' => round(Product::getPriceStatic((int)$product['id_product']),2),'quantity' => (int)$product['product_quantity'],'name'=>$product['product_name']); } $return = ' <script type="text/javascript"> /*<![CDATA[*/ var EA_data = [ "email", "'.$email.'" ,"ref", "'.$order->reference.'" ,"amount", "'.$order->getTotalProductsWithTaxes().'" ,"type", "Vente" ,"payment", "'.$order->payment.'" ,"prdref", "'.$p[0]['reference'].'" ,"prdamount", "'.$p[0]['price'].'" ,"prdquantity", "'.$p[0]['quantity'].'" ,"prdname", "'.$p[0]['name'].'" /* optionnel */'; if (isset($p[1]) || array_key_exists(1, $p)) { $return .= "\r\n"; $return .= ',"prdref", "'.$p[1]['reference'].'" ,"prdamount", "'.$p[1]['price'].'" ,"prdquantity", "'.$p[1]['quantity'].'" ,"prdname", "'.$p[1]['name'].'" /* optionnel */'; } if (isset($p[2]) || array_key_exists(2, $p)) { $return .= "\r\n"; $return .= ',"prdref", "'.$p[2]['reference'].'" ,"prdamount", "'.$p[2]['price'].'" ,"prdquantity", "'.$p[2]['quantity'].'" ,"prdname", "'.$p[2]['name'].'" /* optionnel */'; } $return .= ']; (function(){var d=document;if(!d.location.protocol.indexOf(\'http\')){var o=d.createElement(\'script\'),a=d.getElementsByTagName(\'script\')[0];o.type=\'text/javascript\';o.async=\'async\';o.defer=\'defer\';o.src=\'//ea.ciblo.net/ea.js\';a.parentNode.insertBefore(o,a);[spam-filter])(); /*]]>*/ </script>'; return $return; } J'ai eu l'idée de tester si le nom de la page contient le mot validation if(strpos('validation', $_SERVER['PHP_SELF']) !== false AND Configuration::get('page') == 'confirmation de commande') Maiss je sais pas si ça marche ou pas Merci d'avance. Edited July 22, 2016 by tarek.fellah (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted July 22, 2016 Share Posted July 22, 2016 Bonjour, utilisez plutôt le hook de confirmation de commande Link to comment Share on other sites More sharing options...
tarek.fellah Posted July 22, 2016 Author Share Posted July 22, 2016 (edited) Bonjour, utilisez plutôt le hook de confirmation de commande Merci pour ta réponse. Pour paypal j'ai utilisé le hook hookDisplayOrderConfirmation, mais pour cmcicpaiement, il n'y a pas appel à ce hook, mais j'ai vu l'utilisation du hook 'hookOrderConfirmation', j'ajoute le code dans ce hook dans le module cmcicpaiement, ou bien j'ajoute le hook dans mon module?. Merci d'avance. Edited July 22, 2016 by tarek.fellah (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now