jesa Posted October 1, 2012 Share Posted October 1, 2012 Hola, he visto que en la carpeta override aparece una carpeta templates, concretamente en override/controllers/admin/templates. He pensado que pudiera ser para sobreescribir los .tpl que tenemos en la carpeta templates de la administración. Alguien sabe para que sirve este directorio? He probado a meter el footer.tpl del backoffice y no lo pilla. Saludos Link to comment Share on other sites More sharing options...
nadie Posted October 1, 2012 Share Posted October 1, 2012 Hola, he visto que en la carpeta override aparece una carpeta templates, concretamente en override/controllers/admin/templates. He pensado que pudiera ser para sobreescribir los .tpl que tenemos en la carpeta templates de la administración. Alguien sabe para que sirve este directorio? He probado a meter el footer.tpl del backoffice y no lo pilla. Saludos Te recomiendo mirar esta guía: http://doc.prestasho...fault+behaviors, antes de hacer locuras previas ) Un Saludo, Link to comment Share on other sites More sharing options...
jesa Posted October 2, 2012 Author Share Posted October 2, 2012 Si, la documentación ya la he leído varias veces pero o no me entero o creo que no viene nada relacionado con lo que he preguntado. Tengo claro como sobreescribir una clase, un controller y un módulo, pero simplemente mi duda es saber para que sirve esa carpeta templates. En el caso del front, tengo un theme nuevo, por lo tanto las actualizaciones de prestashop no me afectarán directamente, pero en el caso del theme del backofficce si que me afectan y estaba viendo si habría alguna forma de no tocar el código nativo. Por lo que he leído por ahí parece ser que esto no se podía hacer en versiones anteriores y esta parece que tampoco, pero como digo, al ver esa carpeta templates pues me surgió la duda de si han corregido algo así que sería muy útil. Quizás en la parte del BackOfficce también debería duplicar el theme para que no me pise los cambios al actualizar... Link to comment Share on other sites More sharing options...
petete2008 Posted November 12, 2012 Share Posted November 12, 2012 Hola, he visto que en la carpeta override aparece una carpeta templates, concretamente en override/controllers/admin/templates. He pensado que pudiera ser para sobreescribir los .tpl que tenemos en la carpeta templates de la administración. Alguien sabe para que sirve este directorio? He probado a meter el footer.tpl del backoffice y no lo pilla. Saludos Tengo la misma pregunta que tú, ¿has sacado alguna conclusión? Gracias Link to comment Share on other sites More sharing options...
jesa Posted November 12, 2012 Author Share Posted November 12, 2012 Pues de momento ninguna, mi solución para el admin ha sido duplicar la carpeta default y renombrarla para hacer ahí los cambios. El problema es que prestashop no está preparado para eso y puedes encontrarte con algunos problemas. Yo de momento me ha ido bien, pero para las traducciones hay problemas xq siempre en el BO pilla el tema default, no tiene en cuenta el nuevo. Link to comment Share on other sites More sharing options...
petete2008 Posted November 12, 2012 Share Posted November 12, 2012 Que rapidez respondiendo, jeje. Gracias!! Link to comment Share on other sites More sharing options...
marcis Posted March 28, 2013 Share Posted March 28, 2013 No hay otra solución para hacer un "override" de una plantilla del B.O. desde un módulo? Gracias y un saludo Link to comment Share on other sites More sharing options...
jesa Posted March 28, 2013 Author Share Posted March 28, 2013 Desde un módulo? a que te refieres? Link to comment Share on other sites More sharing options...
marcis Posted March 29, 2013 Share Posted March 29, 2013 A crear un módulo que pueda "sobreescribir" una plantilla del B.O., igual que se puede hacer con el controlador o con una clase modelo Link to comment Share on other sites More sharing options...
jesa Posted March 29, 2013 Author Share Posted March 29, 2013 Uf! Demasiado complejo lo veo. La verdad que desconozco si eso llevaría a algo útil pero la verdad, meterse a probar eso con el lío que puede ser, me quedo con duplicar la carpeta como he dicho antes y lidiar con problemas únicamente de traducciones, al menos es lo que yo me he encontrado. Link to comment Share on other sites More sharing options...
marcis Posted March 29, 2013 Share Posted March 29, 2013 El concepto no es tan complejo, más difícil me parece hacer el override del controlador... Link to comment Share on other sites More sharing options...
jesa Posted March 29, 2013 Author Share Posted March 29, 2013 Hombre, partiendo de la base de que prestashop viene preparado para sobrescribir los controladores y las clases y no el theme del BO a poco es más sencillo y natural lo primero. Para la parte front puedes copiar la carpeta de un theme, cambiarle el nombre y tocarlo lo que quieras y no se crea un módulo para sobreescribirlo. El problema del BO es que no esta preparado para poder elegir entre varios theme, como si lo esta para la parte Front. Por eso el único problema que me he encontrado es a la hora de hacer las traducciones. Link to comment Share on other sites More sharing options...
marcis Posted March 29, 2013 Share Posted March 29, 2013 Estaba hablando del concepto, es más fácil sobreescribir una plantilla que un controlador. Evidentemente, si ya está hecho es más sencillo para los que vienen detrás. Pero eso es otro tema. Y si, es muy sencillo machacar archivos pero... cómo distribuyes luego ese cambio? O qué ocurre si quieres actualizar la versión de Prestashop? Para eso están los módulos, para mantener la independencia. Link to comment Share on other sites More sharing options...
jesa Posted March 29, 2013 Author Share Posted March 29, 2013 Creo que o no te has leído los primeros post o no nos estamos entendiendo. Yo en su día pregunte por sí alguien sabía como hacerlo de alguna forma digamos "proporcionada por prestashop". La solución más sencillas es copiar la carpeta default, la renombras y ya tienes otro theme para el BO. Más sencillo imposible, tal cual como se hace en la parte front. No hace falta machacar nada y con las actualizaciones no pierdes nada. Link to comment Share on other sites More sharing options...
marcis Posted March 29, 2013 Share Posted March 29, 2013 ...y yo pregunté si no había otra solución (mejor) Link to comment Share on other sites More sharing options...
Feliz Garcia Posted March 29, 2013 Share Posted March 29, 2013 Quiero dar las gracias jesa, me has salvado la vida, me encontraba con la misma duda que tu y tu solución me ha servido. Link to comment Share on other sites More sharing options...
jesa Posted March 29, 2013 Author Share Posted March 29, 2013 Quiero dar las gracias jesa, me has salvado la vida, me encontraba con la misma duda que tu y tu solución me ha servido. Me alegro que te halla servido. Personalmente mejor solución que esta no la veo, pero evidentemente todas las opiniones son respetables. También creo que es algo que prestashop debería de incluir en sus versiones porque siempre se toca algo que posteriormente se pierde con las actualizaciones. Link to comment Share on other sites More sharing options...
marcis Posted March 29, 2013 Share Posted March 29, 2013 Jajajaja, eres el mejor Jesa! Además de programar como nadie, salvas vidas con ello!! Deberían ponerle tu nombre a Prestashop... JesaShop!! Seguro que el lunes sube la bolsa y baja el paro gracias a tu "solución". Link to comment Share on other sites More sharing options...
Enrique Gómez Posted April 1, 2013 Share Posted April 1, 2013 (edited) A crear un módulo que pueda "sobreescribir" una plantilla del B.O., igual que se puede hacer con el controlador o con una clase modelo Yo por lo que veo cuando un módulo sobreescribe un controlador o clase lo que hace Prestashop es copiar esas clases y colocarlas en la carpeta override/ que cuelga de la raiz de la instalación.Si los desinstalas limpia el código. Con lo que me surge la duda de si varios módulos sobrescriben un controlador, como lo gestionará Prestashop? En cualquier caso si tienes acceso al controlador del B.O puedes en principio elegir la plantilla donde se renderizará la vista (sobrescribiendo en el sitio adecuado) Edited April 1, 2013 by egomezpe (see edit history) 1 Link to comment Share on other sites More sharing options...
marcis Posted April 3, 2013 Share Posted April 3, 2013 Si no me equivoco, si un método ya está "sobreescrito" Prestashop no deja volver a sobreescribirlo así que al instalar el nuevo módulo daría un error. 1 Link to comment Share on other sites More sharing options...
jesa Posted April 3, 2013 Author Share Posted April 3, 2013 Yo por lo que veo cuando un módulo sobreescribe un controlador o clase lo que hace Prestashop es copiar esas clases y colocarlas en la carpeta override/ que cuelga de la raiz de la instalación.Si los desinstalas limpia el código. Con lo que me surge la duda de si varios módulos sobrescriben un controlador, como lo gestionará Prestashop? En cualquier caso si tienes acceso al controlador del B.O puedes en principio elegir la plantilla donde se renderizará la vista (sobrescribiendo en el sitio adecuado) Como bien dices, cuando instalas un módulo lo que hace es copiar la clase entera al override. Habría que ver los casos concretos, pero si dos métodos sobreescriben la misma clase en el override, casi al 100% lo que te pasará es que el primer módulo te dejará de funcionar. Porque el segundo módulo no va a comprobar si esa clase está modificada, simplemente la pisará y perderás las modificaciones del primer módulo. Si son compatibles entre sí los módulos, te tocaría crear la clase override a mano mergeando las dos clases. 1 Link to comment Share on other sites More sharing options...
Recommended Posts