Marcas condicionales if y nif
Las marcas if y nif permiten implementar comparaciones y condiciones para mostrar u ocultar bloques de código.
Última modificación: Miércoles 28 de diciembre de 2022
- Nombre de la marca
- if, nif
- Sintaxis básica
-
%%if([marca o condición])%% [código] %%/if%%, %%nif([marca o condición])%% [código] %%/nif%%
- Usable en:
FID
Artículos
Portadas
Portadas taxonómicas, tags, listados, tags jerárquicos
- Marcas relativas:
- ifv nifv ifvc
El caso más sencillo es cuando la condición es el chequeo de la existencia o valor de una marca:
%%if([nombre de marca])%%
//código
%%/if%%
El código dentro de ese %%if%% solamente se mostrará si la marca %%_txt_bajada%%
existe y tiene contenido (valores vacíos o número 0 validan de forma negativa). Otro caso común es para desplegar fotos si se cargaron.
%%if(fotofija_port_principal)%%
<img src="%%fotofija_port_principal%%">
%%/if%%
Si usas %%if([marca prontus] = [valor] )%%
entonces el trozo delimitado se incluirá siempre que la variable posea un valor igual al que se indica dentro de la condición.
Operadores para comparaciones numéricas:
=
o==
!=
>
<
>=
<=
Ejemplos:
%%if(_seccion1 == 4)%%
//codigo usado si en el artículo se especificó la sección 1 como aquella con ID = 4.
%%/if%%
%%if(_seccion1 != 4)%%
//codigo usado si en el artículo se especificó en cualquier sección, excepto en aquella con ID = 4.
%%/if%%
%%if(valor_numerico > 2)%%
//codigo usado si el contenido de la marca %%valor_numerico%% es mayor que 2.
%%/if%%
%%if(valor_numerico >= 2)%%
//codigo usado si el contenido de la marca %%valor_numerico%% es mayor o igual que 2.
%%/if%%
%%if(valor_numerico < 2)%%
//codigo usado si el contenido de la marca %%valor_numerico%% es menor que 2.
%%/if%%
%%if(valor_numerico <= 2)%%
//codigo usado si el contenido de la marca %%valor_numerico%% es menor o igual que 2.
%%/if%%
Operadores para comparación de textos
eq
(igualdad para texto)ne
(desigualdad para texto)lt
("menor que para texto)le
("menor o igual que" para texto)gt
("mayor que" para texto)ge
("mayor o igual que" para texto)~
(permite implementar comparaciones contra expresiones regulares)
%%if(_txt_titular eq un titular de prueba)%%
//codigo usado si el contenido de la marca %%_titular%% es exactamente "Un Titular de Prueba".
%%/if%%
%%if(marca_textual ne evitar)%%
//codigo usado si el contenido de la marca %%marca_textual%% no es "evitar".
%%/if%%
%%if(_fid ~ fid_general|fid_galeria )%%
//codigo usado si el valor de la marca %%_fid%% es "fid_general" o "fid_galeria".
%%/if%%
Uso erróneo
Las marcas condicionales realizan el chequeo en base al nombre real de la marca y no a su salida. Esto afecta por ejemplo a las marcas de texto txt_[identificador]
y texto enriquecido vtxt_[identificador]
, donde el nombre real incluye el prefijo txt_
o vtxt_
, y el identificador solo es una salida. Para la marca _txt_titular
, el nombre de marca es _txt_titular
, y _titular
es una salida de esta marca. Si realizas la comparación en el bloque de condición del if
usando la salida _titular
, este condicional no funcionará. Ejemplo:
Ejemplo:
%%loop70(pruebas)%%
%%if(_titular)%%
<a>%%_titular%%</a>
<h2> esto NO funcionará </h2>
%%/if%%
%%/loop%%
Uso Correcto
%%loop70(pruebas)%%
%%if(_txt_titular)%%
<a>%%_txt_titular.raw%%</a>
<h2> Esto sí funcionará </h2>
%%/if%%
%%/loop%%
Condicional nif
Permite incluir un trozo de código siempre que la condición especificada no exista, ya sea porque el dato no existe (no fue ingresado por el operador) o porque no corresponda a un valor específico.
Debes usar %%nif(marca o comparación)%%
para abrir una condición y cerrarla con %%/nif%%
.
%%nif(fotofija_port200)%%
%%if(fotofija_port150)%%
<img src="%%fotofija_port150%%" width="%%_wfotofija_port150%%" height="%%_hfotofija_port150%%">
%%/if%%
%%/nif%%
Todas las reglas mencionadas para la marca if aplican también a nif.
Prontus no soporta la marca ELSE
actualmente. Para implementar un bloque if - else debes usar if
y nif
combinados:
%%if(condición)%% ... %%/if%%
%%nif(condicion)%% ... %%/nif%%
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