Comercio electrónico con PrestaShop: Módulos

Recuperación de fotos de la base de datos de Prestashop

¡Prueba gratis durante 10 días

nuestros 1145 cursos !

Prueba gratis Mostrar modalidades de suscripción
En este vídeo vamos a añadir un método estático al modelo de datos que devolverá todas las fotografías almacenadas en el módulo para que estén disponibles para ser mostradas en la página que hemos creado.

Transcripción

Voy a configurar ahora qué es lo que se va a ver dentro de mi módulo. En principio, yo no quiero que se vean las distintas columnas de contenidos propias de PrestaShop. Quiero decir, tengo aquí el 'hook' de la columna izquierda y en la columna derecha, que se están visualizando y que, en realidad, me van a estorbar. Yo quiero que solamente se vea el contenido de mi módulo. Para poder trabajar con cómo se van a visualizar las distintas acciones dentro de un controlador, podemos utilizar la función "init". Esta función "init" tiene por supuesto un "parent", o sea una función equivalente dentro del 'ModuleFrontController' y dentro de la cual tiene su propia función "init", que se ocupa de inicializar todas las características propias de este controlador. Y entre estas características está la posibilidad de hacer que aparezcan o no las columnas izquierda o derecha, utilizando las propiedades 'display_column_left' y 'display_column_right'. Es tan fácil como eso conseguir que ya no se vean. Por otro lado, yo en este 'template' tengo que mostrar un montón de fotografías. Esas fotografías las puedo recuperar directamente aquí poniendo una sentencia SQL o, más lógico, puedo utilizar la clase 'fotoclienteObj', que tiene una serie de métodos que me van a servir para recuperar fotos. De momento el único método que tengo es el que me devuelve los productos con un identificador de producto. Yo quiero que me devuelva todos. Bueno, pues va a ser muy fácil. Primero guardo en una variable fotos de ese 'fotoclienteObj' una función 'getAll' –una función estática– o sea, pido todas esas fotos. Y esa función la voy a crear muy fácil: copio esta llamada que ya tengo creada, sustituyo 'getProductFotos' por 'getAll', quito el parámetro porque no lo voy a necesitar y elimino del SQL la sentencia 'where'. Así que esto me va a devolver directamente todas las fotografías. Lo siguiente es pasar esas fotografías a la plantilla y para ello utilizo Smarty, 'this.context'. Smarty, como siempre, el método 'assign' y asigno la variable 'fotos' y la relleno con el 'array' de fotografías que estoy recibiendo. En realidad, necesito más cosas. Todavía no tengo hecha la plantilla, pero básicamente va a consistir en este código. Puedo copiarlo, pegarlo y reutilizarlo. Y aquí vemos que hay un apartado interesante y es que yo, en realidad, voy a mostrar o no voy a mostrar el comentario dependiendo de si está activada o no la variable en 'enable_comment'. Bueno, pues eso mismo es lo que voy a hacer aquí un poco más arriba. Aquí voy a definir esa variable, voy a recuperar de la configuración el 'FOTOCLI_COMMENTS', que es el que definía si se podían ver o no los comentarios y se lo voy a pasar a Smarty dentro de esa variable. En realidad, esto es todo copiar y pegar. Y luego, por último, voy a modificar un poco la configuración para que tanto el comentario como la fotografía ocupen la columna completa o incluso puedo hacer también que todo el bloque de cada una de las fotografías que se hayan añadido también ocupen el total. Bueno, pues ya tengo lista lo que es la configuración básica de la acción y de la plantilla. Sin embargo, para que esto funcione correctamente, voy a tener que desinstalar mi módulo y volverlo a instalar. Así que para ello tendré que irme a los módulos, pulsar en Desinstalar, me pregunta si realmente quiero desinstalarlo. Acepto. Voy a volver a instalarlo. Ya está instalado, los comentarios están listos. Para poder verlo, voy a necesitar añadir alguna fotografía con algún comentario, porque si no no se van a poder ver. Así que voy a venir aquí más abajo, voy a seleccionar pues una fotografía cualquiera, esto no tiene importancia, pulso Enviar y ahora si voy a la misma URL 'listafotos'... Y bien, aquí vemos que se ha actualizado ya cargándome esa fotografía. Si me voy a Vestidos de noche, otra vez, selecciono otro vestido distinto y añado otra fotografía diferente –ahora voy a añadir la pequeña–, pulso en Enviar, aparece efectivamente solo esta fotografía, pero si de nuevo vuelvo a la página de antes y la recargo, ahora aparece la primera fotografía y la segunda. O sea que vemos que efectivamente la página está funcionando. De todas formas, ahora habría que añadir también que cargue CSS, JavaScrip específicos y también podemos configurar algunas otras opciones.

Comercio electrónico con 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.