PrestaShop: Módulos

Tablas: instalación de la tabla con el módulo

¡Prueba gratis durante 10 días

nuestros 1270 cursos !

Prueba gratis Mostrar modalidades de suscripción
Ya tenemos la plantilla con el formulario que servirá para añadir fotografías y comentarios a los productos pero, para poder añadir esas fotos, necesitamos crear una tabla que se ocupe del almacenamiento de la información del módulo.

Transcripción

En este vídeo vamos a hablar de la instalación del módulo. En concreto, vamos a hablar de los datos que tenemos que recuperar de alguna manera y que preparar para que luego se puedan utilizar dentro de este módulo. Hay dos vertientes distintas: por un lado están los datos de configuración y por otro lado está la preparación de la base de datos que vamos utilizar después para guardar las fotografías y los comentarios. En el primero de los casos, la configuración va a ser bastante fácil. Se trata básicamente de utilizar el mismo sistema que hemos usado un poco más arriba para guardar los datos de configuración cuando se enviaba ese formulario. La clase de 'Configuration' que tiene el método estático 'Update Value'. Bueno, pues aplicando eso mismo dentro de la función Install, podemos hacer que, de entrada ya, el valor de si tiene o no tiene comentarios, este "fotocli comments", tenga un valor 1 ó 0 por defecto. Esto es muy fácil y es muy parecido a lo que hemos hecho previamente. Lo que tiene un poquito más de complicación ya es el preparar la base de datos para que también pueda utilizar los datos de nuestro módulo. Este objeto de configuración en realidad lo que está haciendo es guardar en la tabla de configuración el par de valores con el nombre y el valor concreto que se está almacenando. Con lo cual aquí no tengo que hacer ninguna modificación sobre la base de datos. Pero sin embargo para guardar estos datos de mi propio módulo tendré que crear mi propia tabla donde guardar cada uno de los registros que suban los clientes. Para hacer esto, voy a crear una nueva función que se va a llamar "Install db". No tiene importancia el nombre, es una función interna que voy a usar solamente para crear esta tabla y para que la función Install no esté tan llena de código. ¿Y qué es lo que voy a utilizar? Básicamente voy a utilizar la clase db. Esta clase db tiene un método estático que es el "getInstance" y que sirve para recuperar una instancia de la clase, de la base de datos. Es básicamente lo mismo que hacer una conexión. Sobre esa conexión después yo puedo aplicar diferentes métodos y en concreto puedo utilizar el 'Execute', que me permite ejecutar código SQL directamente sobre esa instancia de la base de datos. Como parámetro le voy a pasar básicamente SQL. A partir de este momento es tan simple como crear el SQL necesario para hacer esa base de datos. O sea que en este caso, pues eso, utilizar el 'Create Table' con un nombre concreto que luego voy a cambiar, y en él pues voy a crear por un lado un campo identificador, un campo "Id", que es el Id "foto cliente item". Por otro lado un 'Id product', porque lo que voy hacer es guardar una referencia del producto para el que se van a ver las fotografías, para que así más adelante cuando tenga que ver fotografías y comentarios, los vea sólo del producto concreto. Por otro lado, un campo foto en el que voy a guardar la ruta donde se ha almacenado la fotografía. Y por último, un campo 'Comment' en el que se guardará el texto de ese comentario. Definimos cuál es la clave primaria y luego definimos las características de esta tabla. Como decía, es bueno hacer una cosa más. Todas las tablas que tenemos dentro de mi base de datos han sido definidas con un prefijo en sus nombres. Ese prefijo lo hemos decidido en el momento de la instalación, en este caso todas ellas tienen el PS delante. Es una buena práctica ponerle un prefijo distinto, pero bueno, en principio yo he mantenido este. Eso significa que si yo creo una nueva tabla debería de tener también ese mismo prefijo. Podría poner directamente este PS, pero yo realmente no sé qué prefijo va a tener cualquier otro que instale mi módulo dentro de su propia tienda. Así que en vez de utilizar ese PS, lo que voy es a usar una variable estática, que es utilizable desde cualquier clase que extienda la clase módulo, y que me va a dar pues en este caso es PS guión bajo. Con esto voy a crear entonces la tabla "PS guión bajo foto cliente guión bajo item". Por último, lo que me queda es llamar a esa función desde la instalación. Así que voy a guardar en una variable el resultado el resultado de esta función. En esta función en realidad estoy devolviendo el resultado de este 'Execute'. El resultado que va a devolverme va a ser verdadero en caso de que se haya podido crear la tabla sin problemas o falso en caso contrario. Así que este va a ser el equivalente a devolver ahora un verdadero o falso, después de haber ejecutado ese código. Elimino este "return true" y ya tengo listo el módulo para que sea instalado. Volviendo de nuevo a Chrome y yendo a la configuración de módulos, voy a desinstalar este módulo. Pulso en Aceptar para que quede desinstalado. Vamos a ver en la tabla que de momento no hay ningún "PS guión bajo foto.cli". Aquí lo tengo, no hay. Y entonces ahora voy a instalarlo de nuevo. Si todo ha sido correcto me mostrará el mensaje verde diciendo que se ha instalado correctamente y ahora cuando recargue esta tabla, su estructura, tiene que aparecerme esta tabla nueva que creado automáticamente en la instalación, aquí la tenemos. Y dentro de ella, pues la estructura del identificador, el identificador de producto, la foto y el comentario.

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.