Puntos de entrada

marzo 23, 2016 Publicado en Software y Hardware
Etiquetas:

La lógica de los controles y las vistas en el Framework MVC de SuiteCRM (y en general en cualquier otro framework que siga este modelo) es ejecutar una acción y presentar los resultados en una vista, pero para aquellas circunstancias en donde el objetivo no es la visualización de una vista sino la generación de un archivo PDF para imprimir, agregar datos a una encuesta o generar un correo en forma automática a partir de de los datos de un formulario en un sitio web externo se debe usarotra aproximación.

Para estos casos SuiteCRM emplean los EntryPoints, que son descritos como páginas de acceso al entorno SuiteCRM.

El primer paso será la creación del script que atenderá los llamados al EntryPoint, archivo que puede ubicarse en cualquier lugar pero que se recomienda ubicar en:

/<directorio_crm>/custom/<nombrePuntoAcceso>.php

Este script podrá recibir variables por GET o por POST (igual que cualquier otro script php), incluirá el entorno global ( por ejemplo $this ) y tendremos además acceso a todas las primitivas de SuiteCRM para administrar las instancias de los módulos.

La primera línea es de vital importancia, porque es la que evita que el script sea usado tras un llamado directo desde el navegador.

Una vez tenemos el script que atenderá el llamado al punto de entrada, es hora de crear el elemento con el cual se declara el EntryPoint.

Nóte que los puntos de entrada se declaran dentro de la aplicación, y no dentro de un módulo.

Una vez tengamos el archivo disponible, agregaremos una única línea para declarar el punto de ingreso.

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

El arreglo tiene dos variables, una es la ubicación del archivo que atenderá el llamado al punto de entrada, y la otra indica si se permite usar el punto de entrada sin haber iniciado sesión. Una vez se tengan los dos archivos será hora de ejecutar la acción de “Reparar y Reconstruir“, y paso seguido tendremos disponible el llamado usando la siguiente URL
http://<host_crm>/<directorio_crm>/index.php?entryPoint=<nombrePuntoAcceso>

Escriba su comentario