alex120 Posted July 29, 2014 Share Posted July 29, 2014 Hola. Estoy intentando hacer una especie de catalogo y me gustaria modificar los precios. Si en un articulo tengo 2.30 Deberia de salir 2 Euros y 30 centimos en el precio. He intentado modificar el metodo converPrice de Tools.php pero no me hace caso. He seguido este tutorial. http://laboratorio-prestashop.blogspot.com.es/2013/10/overrides-en-prestashop.html y he creado un fichero llamado Tools.php en override/classes/Tools.php Saludos Tools.php Link to comment Share on other sites More sharing options...
jesa Posted July 30, 2014 Share Posted July 30, 2014 Has puesto el nuevo fichero en cache/class_index.php? Dependiendo de la versión, cuando creamos una nueva clase en el override hay que indicarlo en este fichero para que prestashop sepa que está sobreescrito. Link to comment Share on other sites More sharing options...
alex120 Posted July 30, 2014 Author Share Posted July 30, 2014 Has puesto el nuevo fichero en cache/class_index.php? Dependiendo de la versión, cuando creamos una nueva clase en el override hay que indicarlo en este fichero para que prestashop sepa que está sobreescrito. Tengo la utlima version. La baje hace unos dias. ¿Que tendria que poner ahi? ¿Tienes alguno tutorial? Link to comment Share on other sites More sharing options...
rafaelamargo Posted July 30, 2014 Share Posted July 30, 2014 (edited) Tengo la utlima version. La baje hace unos dias. ¿Que tendria que poner ahi? ¿Tienes alguno tutorial? Prueba borrarlo, para que se regenere automaticamente. A mi antigualmente me pasaba, que tenia que borrar ese fichero, para que se regenerara automaticamente y detectara el nuevo override. (El fichero se crea automaticamente al borrarlo) (Desconozco si es el mismo caso) Edited July 30, 2014 by rafaelamargo (see edit history) Link to comment Share on other sites More sharing options...
jesa Posted July 30, 2014 Share Posted July 30, 2014 Simplemente tienes que poner la ruta donde se encuentra el fichero que sobreescribe. Ya viene todo preparado ,simplemente si tú has sobreescrito la clase Tools.php, tendrás que buscarlo dentro de ese fichero, verás que uno está con la ruta y otro no. El que la tiene es el del core de prestashop. Simplemente en el que está vacío pones la ruta donde está el override, que normalmente sería la misma pero con el override/ delante Link to comment Share on other sites More sharing options...
rafaelamargo Posted July 30, 2014 Share Posted July 30, 2014 Simplemente tienes que poner la ruta donde se encuentra el fichero que sobreescribe. Ya viene todo preparado ,simplemente si tú has sobreescrito la clase Tools.php, tendrás que buscarlo dentro de ese fichero, verás que uno está con la ruta y otro no. El que la tiene es el del core de prestashop. Simplemente en el que está vacío pones la ruta donde está el override, que normalmente sería la misma pero con el override/ delante ¿Si borras el fichero no se regenera automaticamente con el nuevo override? (A mi en la 1.5, me lo hacia ¿Ha cambiado esto en la 1.6? ) Me interesa saberlo. Link to comment Share on other sites More sharing options...
jesa Posted July 30, 2014 Share Posted July 30, 2014 Pues yo eso de borrar el fichero nunca lo he hecho. Se que había gente que directamente borraba ese fichero para que no le diera problemas, pero hasta hoy pensaba que simplemente al no existir el fichero funcionaba, no que se regeneraba solo. Esto es algo molesto porque siempre pasa que se olvida y te vuelves loco durante un tiempo. Pero al final si la solución que tú dices es válida, veo más sencillo poner la ruta y no jugartela a que prestashop lo haga por tí. Al final es muy facil, coges la ruta de la clase que sobreescribes y le pones delante el directorio override/ 'Tools' => array ( 'path' => 'override/classes/Tools.php', 'type' => 'class', ), 'ToolsCore' => array ( 'path' => 'classes/Tools.php', 'type' => 'class', ), Link to comment Share on other sites More sharing options...
rafaelamargo Posted July 30, 2014 Share Posted July 30, 2014 Pues yo eso de borrar el fichero nunca lo he hecho. Se que había gente que directamente borraba ese fichero para que no le diera problemas, pero hasta hoy pensaba que simplemente al no existir el fichero funcionaba, no que se regeneraba solo. Esto es algo molesto porque siempre pasa que se olvida y te vuelves loco durante un tiempo. Pero al final si la solución que tú dices es válida, veo más sencillo poner la ruta y no jugartela a que prestashop lo haga por tí. Al final es muy facil, coges la ruta de la clase que sobreescribes y le pones delante el directorio override/ 'Tools' => array ( 'path' => 'override/classes/Tools.php', 'type' => 'class', ), 'ToolsCore' => array ( 'path' => 'classes/Tools.php', 'type' => 'class', ), Es que prestashop, en un txt, dice: A: You need to trigger the regeneration of the /cache/class_index.php file. This is done simply by deleting the file. It is the same when manually removing an override: in order to reinstate the default behavior, you must delete the /cache/class_index.php file. Siempre me lo ha regenerado automaticamente. Ese txt de info, lo puedes encontrar en: /override/readme_override.txt Link to comment Share on other sites More sharing options...
alex120 Posted July 30, 2014 Author Share Posted July 30, 2014 Si. Muchas gracias. Borrando ese fichero. Lo regenera solo. De momento ya he hecho la primera parte. Ahora mirare haber si consigo que devuelva un string con lo que yo quiera y no un numero. Link to comment Share on other sites More sharing options...
jesa Posted July 30, 2014 Share Posted July 30, 2014 Poco más puedo decir jeje, si lo pone prestashop debería funcionar. Yo ya te digo que lo hago a mano y de momento me ha ido bien asi. La verdad que ni había leído nunca ese fichero...jeje Link to comment Share on other sites More sharing options...
Recommended Posts