Manuel Sánchez Posted March 4, 2020 Share Posted March 4, 2020 Buenas tardes a todos, He hecho un override a AdminOrdersController.php. Lo he puesto en override/controllers/admin con el mismo nombre. en el original tengo: class AdminOrdersControllerCore extends AdminController y en el override: class AdminOrdersController extends AdminControllerCore Lo que he hecho es sobre la linea 530 insertar esto para interceptar un cambio en el estado del pedido (para detectar envio) if (Tools::getValue('id_order_state')==4){ ?> <script> var m=window.open("URL_DE_MI_SCRIPT?pedido=<?php echo Tools::getValue('id_order');?>","width=200,height=200, top=0, left=0,scrollbars=NO", '_blank'); m.focus(); window.history.back(); </script> <?php } En un PrestaShop de pruebas me abre la ventana del script sin ningún problema pero en otro que estoy trabajando me ignora esto. Evidentemente borre class_index.php antes. ¿Que se me puede estar escapando? Gracias Link to comment Share on other sites More sharing options...
joseantgv Posted March 4, 2020 Share Posted March 4, 2020 ¿Entra en la función sobreescrita? Pon un die al principio. 1 Link to comment Share on other sites More sharing options...
Manuel Sánchez Posted March 4, 2020 Author Share Posted March 4, 2020 4 hours ago, joseantgv said: ¿Entra en la función sobreescrita? Pon un die al principio. Si, lo hice. Pantalla en blanco, luego el die() funciona. También probé a poner el cambio que yo quería en el original, justo después de } elseif (Tools::isSubmit('submitState') && isset($order)) { ¿¿?? rarisimo. Link to comment Share on other sites More sharing options...
joseantgv Posted March 4, 2020 Share Posted March 4, 2020 Pues nada, a debugar Estás llamando al parent desde el override? 1 Link to comment Share on other sites More sharing options...
Manuel Sánchez Posted March 5, 2020 Author Share Posted March 5, 2020 12 hours ago, joseantgv said: Pues nada, a debugar Estás llamando al parent desde el override? Creo que sí. Pero hize los cambios directamente en el parent para probar, quite el override. El die() funciona pero lo mio nada de nada. ¿Puede algun TPL de algún modulo instalado estar sobreescribiendo algo? Gracias. Link to comment Share on other sites More sharing options...
joseantgv Posted March 5, 2020 Share Posted March 5, 2020 Es que si llamas al parent es posible que después de tu código se esté ejecutando la función original. El problema está en tu función sobreescrita. 1 Link to comment Share on other sites More sharing options...
Manuel Sánchez Posted March 5, 2020 Author Share Posted March 5, 2020 1 hour ago, joseantgv said: Es que si llamas al parent es posible que después de tu código se esté ejecutando la función original. El problema está en tu función sobreescrita. Gracias Jose. He quitado el override (que el die() funcionaba), y he puesto en varios sitios para probar: ?> <script> alert('Hola'); </script> <?php y funciona, el problema es que si lo pongo justo debajo de la linea 22 hours ago, Manuel Sánchez said: } elseif (Tools::isSubmit('submitState') && isset($order)) { no hace nada, parece que no pille el cambio de estado del pedido. Link to comment Share on other sites More sharing options...
Manuel Sánchez Posted March 5, 2020 Author Share Posted March 5, 2020 Al final he cogido un js del backend (themes/default/js/help.js) y ahí he podido hacer algo, pero me tiene mosca que en un servidor de pruebas que tengo funcione y detecte el sumitState y en este no. 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