Aprende todo lo que necesitas saber sobre qué es y para qué sirve un Override en Prestashop.
Para empezar, vamos a definir qué es un Override en Prestahsop. Override, en inglés, significa anular. Si trasladamos su significado a Prestashop lo que haría un override es anular un archivo o función de Prestashop para sobreescribirlo por uno nuevo.
¿Para qué sirve un override?
Un Override sirve para sobreescribir un archivo o función de Prestashop sin tener que modificar el origen.
Al hacer un override, lo que conseguimos es que después de, por ejemplo, actualizar prestashop o un módulo o alguna parte del Core de Prestashop mantendremos nuestras modificaciones. Ya que al actualizar prestashop lo que hace es subir archivos nuevos a nuestro sistema. Si tenemos una modificación hecha en algunos de esos archivos se perderían los cambios si no está hecho con un Override.
¿Qué tipos de Override hay?
Hay 3 tipos de Override. De controller, de class y de theme. (controlador, clase y plantilla).
Override Controller
Estos override se usan para modificar funciones y acciones tanto del Backoffice como del frontoficce. Están alojados en /override/controllers/front/ o /override/controllers/admin/.
Override Classes
Se usan para ampliar características de los objecto clase de Prestashop o para modificar sus funciones.
¿Quieres saber cómo hacer un Override de Class? Mira este tutorial:
Override de Plantilla
En este caso lo más habitual es hacer reescritura de archivos .tpl. Como en módulos, en mails…
Override plantilla – Módulo
Se usa para modificar la plantilla .tpl del módulo en concreto en el theme dónde coloque el override. En este caso irá colocado a la carpeta /themes/tutheme/modules/nombredelmodulo/
Si se encuentra el archivo que quiere abrir del módulo en la carpeta de /modules/ de tu theme, usará esa en vez de la original del módulo.
Override plantilla – Mails
Lo mismo pasa con los e-mails. Puedes hacer un override de los mails dentro de la plantilla que tienes activa creando una carpeta /mails/ dentro de esa. Así, a la hora de enviar un mail si encuentra la plantilla dentro de la carpeta de override lo usará. La carpeta sería /themes/tutheme/mails/iso/