PrestaShop: Módulos

Qué son los front controllers: creando un controlador

¡Prueba gratis durante 10 días

nuestros 1222 cursos !

Prueba gratis Mostrar modalidades de suscripción
Comenzamos el capítulo con un poco de información acerca de los controllers, los tipos de controllers que hay y para qué sirven. Y comenzaremos creando un nuevo controlador con su estructura de archivos en nuestro módulo.

Transcripción

Hasta ahora, para añadir contenidos relacionados con el módulo, hemos seguido siempre la estrategia de utilizar 'hooks' o, en todo caso, utilizar el 'getContent' para la configuración de este módulo. Pero, sin embargo, no siempre esto es suficiente. Si me paso a la tienda, podemos ver que sí efectivamente tenemos una serie de 'hooks' donde podemos ir añadiendo los distintos elementos. Pero supongamos que tenemos un módulo que necesita tener una página propia para mostrar sus contenidos. O supongamos, por ejemplo, que necesito añadir dentro de la administración un submenú más en el cual se pueda configurar mi módulo o ver algunas de las opciones de ese módulo. Para todo esto es para lo que se utilizan los "controllers". Los 'controllers' son controladores que van a definir por un lado rutas de páginas y por otro lado el contenido que se va a mostrar en esas rutas. Y para que la programación sea mucho más clara, se van a definir fuera de lo que es la clase principal del módulo. Así que para trabajar con 'controllers', lo primero que voy a necesitar es una carpeta Controllers. Dentro de mi módulo, crearé entonces ese "new folder" Controllers. Dentro de este Controllers, voy a poder tener controladores de distintos tipos. Por ejemplo, para hacer que aparezcan páginas dentro de lo que es la tienda o para que aparezcan en la administración. Cada uno de ellos va a ir montado sobre una carpeta diferente. Por ejemplo, yo realmente lo que quiero es crear una página donde se vayan a ver todas las fotografías que hayan añadido todos los clientes, independientemente de a qué producto esté relacionado. Pues voy a crear un nuevo "folder" que se va a llamar 'Front'. Esta carpeta Front es donde voy a meter todos los controladores que están relacionados directamente con la visualización de la tienda. Pues ahora que ya tengo esa carpeta Front, el siguiente paso es crear un archivo PHP que va a llevar una clase que es la que se ocupa de crear este controlador. Así que voy a crear un nuevo archivo al que voy a llamar 'fotos.php'. No tiene importancia el nombre que le vaya a poner a este archivo que almacena la clase, lo que sí tiene importancia es ahora cómo construyo esa clase. En realidad, no voy a definir que ese controlador está en ningún sitio, quiero decir, no tengo que añadir nada de código en la clase principal ni ningún archivo de configuración. Lo único que necesito es crear una clase que sea consistente con la estructura de nombres de controladores propia de PrestaShop. Tiene que empezar siempre por el nombre del módulo, seguido por el nombre del archivo –en este caso es 'fotos'– o sea que sería 'fotoclientefotos', y luego seguido ya por 'ModuleFrontcontroller'. Esta última parte es la que hace entender a PrestaShop que me va a coger el controlador 'fotos' del módulo 'cliente' para crear efectivamente un controlador de "Front-End" del módulo. Esta clase tiene que extender la clase 'ModuleFrontcontroller', que lo puedo copiar directamente de aquí, y bueno evidentemente todo ello tiene que ser código PHP. Con esto hemos creado ya el controlador. Y este controlador tiene diferentes métodos, pero tiene un método fundamental que es el método público: public initContent. Esto va a ser un inicializador de contenidos que me va a servir tanto para crear el contenido que se va a ver en ese controlador, como para también crear diferentes acciones propias de un controlador para abrir diferentes páginas. En realidad, este está extendiendo la clase 'ModelFrontcontroler', así que voy a llamar a la misma función de la clase que está extendiendo. Llamo a este 'initContent' y simplemente con esto, tengo ya este nuevo controlador, que de momento no hace nada, pero la estructura básica ya está creada.

PrestaShop: Módulos

Introdúcete en la programación de módulos de Prestashop, empezando por conceptos básicos imprescindibles para crear bloques funcionales dentro de este CMS de comercio electrónico.

2:49 horas (33 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:12/10/2016

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.