jmelich Posted January 15, 2020 Share Posted January 15, 2020 Hola, Google Ads me recomienda añadir las google reviews en los pedidos. Para ello he de añadir el siguiente snippet en algun .tpl del checkout. <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script> <script> window.renderOptIn = function() { window.gapi.load('surveyoptin', function() { window.gapi.surveyoptin.render( { // REQUIRED FIELDS "merchant_id": 137765381, "order_id": "ORDER_ID", "email": "CUSTOMER_EMAIL", "delivery_country": "COUNTRY_CODE", "estimated_delivery_date": "YYYY-MM-DD", // OPTIONAL FIELDS "products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}] }); }); } </script> El problema és que este fragmento es genérico y tendría que adaptar las variables al entorno prestashop. Alguien lo tiene ya adaptado? En caso negativo mi duda es: Cómo hacéis para debugar un pedido sin llevarlo a cabo o que se haga efectivo?? Pues no tenemos entorno de pruebas. Gracias!!! Link to comment Share on other sites More sharing options...
garciasanchezdani Posted January 16, 2020 Share Posted January 16, 2020 Buenos días @Becquel Al confirmarse un pedido, el tpl que se carga es el /themes/MY_THEME/templates/checkout/order-confirmation.tpl Puedes añadir tu snippet al final del todo: <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script> <script> window.renderOptIn = function() { window.gapi.load('surveyoptin', function() { window.gapi.surveyoptin.render( { // REQUIRED FIELDS "merchant_id": "137765381", "order_id": {Tools::getValue("id_order")}, "email": {$customer.email}, "delivery_country": "ES", "estimated_delivery_date": {$smarty.now + (60*60*24*1)|date_format:"%Y-%m-%d"}, //aqui he puesto 24 horas de entrega estimada }); }); } </script> He eliminado los campos opcionales ( OPTIONAL FIELDS ) Espero que te sirva. Un saludo. 1 Link to comment Share on other sites More sharing options...
jmelich Posted January 16, 2020 Author Share Posted January 16, 2020 3 hours ago, garciasanchezdani said: Buenos días @Becquel Al confirmarse un pedido, el tpl que se carga es el /themes/MY_THEME/templates/checkout/order-confirmation.tpl Puedes añadir tu snippet al final del todo: <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script> <script> window.renderOptIn = function() { window.gapi.load('surveyoptin', function() { window.gapi.surveyoptin.render( { // REQUIRED FIELDS "merchant_id": "137765381", "order_id": {Tools::getValue("id_order")}, "email": {$customer.email}, "delivery_country": "ES", "estimated_delivery_date": {$smarty.now + (60*60*24*1)|date_format:"%Y-%m-%d"}, //aqui he puesto 24 horas de entrega estimada }); }); } </script> He eliminado los campos opcionales ( OPTIONAL FIELDS ) Espero que te sirva. Un saludo. Hola @garciasanchezdani gracias por tu respuesta, me ha resultado de gran utilidad. A partir de tu fragmento de código he añadido que se rellene también automaticamente el país de envío. Los ficheros editados són los siguientes: order-confirmation.tpl <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script> <script> window.renderOptIn = function() { window.gapi.load('surveyoptin', function() { window.gapi.surveyoptin.render( { // REQUIRED FIELDS "merchant_id": 137765381, "order_id": "{Tools::getValue("id_order")}", "email": "{$customer.email}", "delivery_country": "{$delivery_country_iso_code}", "estimated_delivery_date": "{$smarty.now + (60*60*24*1)|date_format:"%Y-%m-%d"}", } ); }); } </script> OrderConfirmationController.php $address = new Address($this->context->cart->id_address_delivery); $this->context->smarty->assign('delivery_country_iso_code', Country::getIsoById($address->id_country)); De esta forma ya aparece la solicitud de review de Google 1 Link to comment Share on other sites More sharing options...
ocio87 Posted August 18, 2021 Share Posted August 18, 2021 Hola, Me podrías ayudar con este tema, estoy intentando pero no lo logro. No tengo claro en que parte de OrderConfirmationController.php se debe agregar la info. Te agradezco la ayuda que me puedas brindar. Link to comment Share on other sites More sharing options...
jmelich Posted August 19, 2021 Author Share Posted August 19, 2021 Hola @ocio87 ya no tengo acceso a ese código modificado ni me acuerdo de cuál era el funcionamiento ni la lógica ya que tengo el entorno Prestashop un poco oxidado, pero he abierto el fichero y veo el siguiente fragmento de la función initContent(): $this->context->smarty->assign(array( 'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation($order), 'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn($order), 'order' => $presentedOrder, 'register_form' => $register_form, )); Pues lo pondría exactamente antes o despues de esto. Si no funciona, probaría en insertarlo dentro de las otras funciones del fichero, ya sea init(), displayPaymentReturn(), displayOrderConfirmation(), checkFreeOrder(). 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