El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

PrestaShop: Módulos

Creación de la ruta para la nueva página: dispatchers

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Con un controller podemos crear muchas páginas distintas, y aunque no hay exactamente un servicio de enrutamiento dentro de Prestashop, veremos cómo sí se pueden crear sistemas de rutas basados en parámetros URL.

Transcripción

Estamos trabajando en crear una nueva página dentro del PrestaShop utilizando nuestro módulo y en concreto sus controladores. Para poder ver el controlador que he creado previamente, voy a tener que utilizar de momento hasta que añada "links", una ruta que es un poco especial para poder verlo. Esa ruta va a consistir en: la ruta de la tienda, barra, index.php, interrogación, para pasar parámetros, y luego vamos a pasar por un lado el parámetro 'fc', que va a ser igual a 'module', 'sfc' va a indicar que estoy pidiendo algo de un módulo. Por otro lado, el segundo parámetro que vamos a pedir es el módulo en concreto, que va a ser el 'fotocliente'. Así que utilizo el parámetro 'module' y lo igualo a 'fotocliente'. Y luego, a partir de aquí, vamos a empezar a añadir diferentes parámetros, que son específicos para lo que queremos que haga exactamente nuestro módulo. Entonces, así yo puedo llamar a diferentes controladores y a diferentes acciones. En concreto, yo quiero llamar al controlador que acabo de crear que se llama 'fotos', así que otro parámetro más que añado es el parámetro 'controller' y lo igualo a 'fotos'. Y luego, por último, a partir de aquí podemos pasar diferentes cosas. Esas acciones van a servir para crear diferentes páginas, así que puedo tener diferentes controladores y que cada controlador cree diferentes páginas. No es un modo de enrutamiento muy limpio o muy potente, pero sin embargo es el sistema que tiene PrestaShop y, por supuesto, lo bueno que tiene es que funciona correctamente. Y vamos a ver entonces cómo añadir una nueva ruta para mostrar una nueva página. Supongamos que yo quiero añadir una nueva página que me vaya a mostrar todas las fotografías que se han cargado, eso será el listado de fotos. Pues voy a añadir una función protegida, que solo va a tener acceso a ella esta función pública 'initContent' y la voy a llamar por ejemplo 'initLista fotos'. Aquí dentro es donde voy a poner el código que se va a visualizar cuando se entre dentro de esa página. Y ahora el truco realmente va a estar en cómo conseguir que cuando se escribe toda esta ruta –o sea, estoy llamando a un módulo y a un controlador en concreto– pues cuando escribo esta ruta pueda añadir algún parámetro para que además me pase a una acción concreta. Como digo, para ello se puede añadir un nuevo parámetro. En mi caso he añadido este 'module action', pero podría haber añadido simplemente acción o lo que hubiera querido. Y cuando entramos dentro de esa ruta inmediatamente se va a ejecutar la función y 'initContent'. Entonces, sobre esta función 'initContent', yo lo que puedo hacer es recuperar el parámetro que se está enviando y utilizarlo para mostrar la página que yo quiero. Creo entonces una variable 'module action' y voy a utilizar la clase 'tools' para recuperar el valor del parámetro 'module action'. Como digo, este nombre de parámetro es exactamente igual que el parámetro 'URL' que estoy pasando. Ya tengo esa variable, ahora aquí puedo simplemente hacer que en caso de que la variable sea igual a 'listafotos' por ejemplo, pues que ejecute esa función 'listafotos' para devolverme los contenidos. O puedo hacerlo más completo para conseguir que yo tenga varias acciones distintas. De hecho, lo normal es que cuando tenemos un controlador, tengamos diferentes acciones para mostrar diferentes páginas. Para ello, bueno pues puedo crear una lista de acciones –o sea, un 'array'– en el que vengan todos los posibles parámetros que se puedan recuperar, en mi caso 'listafotos', pero podría añadir a este 'array' más. Y a él le voy a asociar las distintas funciones que se pueden ejecutar. Esta es una forma de trabajar, la otra forma de trabajar podría ser concatenar el 'init' con el nombre de la acción que se tiene que ejecutar y hacer que se ejecute directamente. Y ahora pregunto si se ha recibido efectivamente el parámetro y, en caso de que se haya recibido el parámetro 'module action' y que ese 'module action' exista dentro del listado de acciones que tengo preconfiguradas, pues entonces y solo entonces quiero ejecutar esta función 'initListafotos'. Para ello, creo una variable función dentro de la cual meto ese nombre –ese 'initListafotos'– sacándolo directamente del 'array' a través de 'listafotos', de su nombre, y por último ejecuto esta función. Es una forma, como digo, de enrutamiento que es un poco básica, pero que sin embargo va a funcionar bien. Utilizando el mismo sistema, yo aquí como digo puedo añadir en el 'array' todas las entradas que quiera e ir añadiendo todas las funciones que me parezca bien. El siguiente paso es añadir en este 'initListafotos' el código necesario para devolver un contenido. Y para ello vamos a utilizar los 'templates'. Vamos a crear una plantilla para que devuelva el contenido de todo el listado de las fotos.

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.