Campo para una imagen en la configuración

abril 2, 2016 Publicado en Software y Hardware
Etiquetas:

En la anterior entrada expliqué cómo crear una vista para el manejo de variables de configuración. El ejemplo se limitaba a dos campos de texto, y en teoría agregar otros campos básicos (texto, área de texto, numérico y color) no debería representar problema alguno. Pero al hacer págnas configuración es muy común encontrar campos para imágenes. El presente ejemplo extiende la anterior nota para agregar este tipo de variables a la configuración y por lo tanto debe haber realizado el anterior ejemplo para poder realizar esta actividad.

El primer punto a tener en cuenta es buscar la forma de subir la imagen. Uno pensaría que SuiteCRM integraría un punto de entrada de este tipo, pero por lo que pude entrever cada módulo crea su propio mecanismo, y el resultado es que cada uno tiene sus propias particularidades. En definitiva es aconsejable crear uno propio. Recuerde que la declaración del EntryPoint se hace en el directorio de Aplicaciones, pero el archivo del EntryPoint puede estar en cualquier directorio. Por facilidad mnemotécnica la ubico en el Configurator porque al fin de cuentas lo usaremos con este módulo.

/<directorio_crm>/custom/modules/Configurator/UploadImageFile.php

/<directorio_crm>/custom/Extension/application/Ext/EntryPointRegistry/UploadImageFile.php

Ejecutamos la acción de “Reparar y Reconstruir“, y tendremos a nuestra disposición el punto de entrada para subir una imagen.

Ahora modificamos la declaración de la vista y agregamos la línea de la foto en la sección donde se declaran las variables de la configuración del paquete (líneas 22 a 30 del ejemplo de la anterior entrada).

/<directorio_crm>/custom/modules/Configurator/views/view.<acción>.php

También se deberá agregar las modificaciones a la traducción para incluir los nuevos campos

/<directorio_crm>/custom/Extension/modules/Configurator/Ext/Language/en_us.<paquete>.php

A continuación creamos la plantilla con los agregados para hacer uso del entryPoint. Igual que en el anterior ejemplo no hay funciones para chequeo de variables así que se deja al lector la labor correspondiente.

/<directorio_crm>/custom/modules/Configurator/tpls/<acción>.tpl

 

Escriba su comentario