Prontus functions
Prontus te permite extender su funcionamiento creando funciones para procesar el contenido de tus artículos como nuevas marcas de función.
Última modificación: Jueves 20 de agosto de 2020
Las marcas Prontus permiten crear e invocar funciones que tú definas para extender la funcionalidad de Prontus, por ejemplo para manipular datos en plantillas de algún modo específico. Por ejemplo, podrías necesitar en tu sitio una hipotética función que toma la marca _FECHAP
(la fecha de publicación de un artículo en formato aaaammdd
) y la procesa para devolver la fecha en inglés en formato largo, como por ejemplo "Friday, 05 October 2018".
Para poder extender Prontus creando Prontus Functions debes tener acceso al directorio /[webroot]/cgi-cpn/
. Allí, debes buscar el archivo lib_custom-sample.pm
y copiarlo o renombrarlo a lib_custom.pm
. Dentro de ese archivo debes agregar tus nuevas funciones. Este archivo, como el resto de Prontus, está escrito en lenguaje Perl. El que sigue es un ejemplo de Prontus function extraído de él:
# recibe una fecha en formato aaaammdd
# devuelve una fecha en formato largo en inglés, como "Friday, 05 October 2018"
sub fechapEngLong {
use Time::Local qw(timelocal_nocheck);
my $aaaammdd = $_[0]; # fechap
return '' if ($aaaammdd =~ /^9999/);
return '' if ($aaaammdd !~ /^\d{8}$/);
my (@dias) = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
my (@meses) = ('January','February','March','April','May','June','July',
'August','September','October','November','December');
$aaaammdd =~ /(\d\d\d\d)(\d\d)(\d\d)/;
my ($dia,$mes,$ano) = ($3,$2,$1);
my ($tiempo) = &Time::Local::timelocal_nocheck(0,0,12,$dia,($mes - 1),($ano - 1900)) || return '';
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($tiempo);
$dia = $dia + 0; # Para extraer los ceros de adelante.
return $dias[$wday] . ", " . $meses[($mes - 1)] . ' ' . $dia . " $ano";
}
Para usar una Prontus function en una plantilla debes invocarla con el prefijo _PF_
y pasarle el parámetro, en este caso la marca _FECHAP
:
%%_pf_fechapenglong('%%_fechap%%')%%
Es posible usar las Prontus functions en plantillas y también en el texto y asunto de los mensajes de auto-respuesta enviados al usuario mediante los formularios Prontus. Por ejemplo, es posible implementar fácilmente un sistema de validación de e-mail con una URL única que el usuario debe visitar.
Aunque los parámetros pasados a las Prontus functions pueden incluir marcas Prontus, no debes usar marcas de lógica dentro de un parámetro. Por ejemplo, esto no funcionará:
%%_pf_fechapenglong('%%if(_fechap < 20120507)%%%%_%fechap%%%%/if%%')%%
Conceptos Básicos
¿Qué es Prontus?
Estructura de directorios
Glosario
Navegadores soportados
Tutoriales
Instalación de Prontus CMS
Implementar un nuevo sitio en Prontus
Cómo crear un FID
Cómo crear una plantilla de artículo
Cómo crear una plantilla de portada
Cómo crear plantillas de formulario
Cómo implementar un formulario
Cómo implementar un buscador
Cómo implementar un buscador Elasticsearch
Cómo crear una plantilla de taxonomía
Cómo crear plantillas de tags
Cómo crear una plantilla de listado
Cómo crear una plantilla de tags jerárquicos
Implementar carga de videos en Prontus
Integración de Redes Sociales
Instalación y Configuración
Requerimientos
Configuración del servidor
Base de datos
Asegurar la plataforma
Instalación con Wizard Prontus
Ajustes post-instalación
Archivos de configuración de Prontus
Friendly URLs
Friendly URLs para imágenes
SSI en Prontus
Logs de Eventos
Ejecutar procesos periódicamente con cron
Debugging
Plantillas
Plantillas de FID
Plantillas de artículo
Plantillas de portada
Plantillas de taxonomía
Plantillas de artículos relacionados
Plantillas de tags
Plantillas de listado
Plantillas de tags jerárquicos
Plantillas de mapa de taxonomía
Plantillas de mapa de tags
Marcas
Tipos de marcas
Diccionario de marcas
Marcas para texto
Marcas de lógica
Marcas de despliegue
Marca Menú y Panel
Parsing de marcas en formularios Prontus
Funcionalidades
Funcionalidades SEO en Prontus CMS
Multivistas
Galería de Imágenes
Buscador Multivista
Buscador
Buscador Elasticsearch
Calendarios
Imprimir artículos
Posting de contenidos
Plugins
Post-procesos
Prontus functions
Implementar copias de seguridad automáticas con Dropbox
Implementar múltiples ediciones
Regeneración masiva de artículos via línea de comandos