Marcas condicionales ifv, nifv e ifvc
Las marcas ifv, nifv e ifvc permiten evaluar el valor de la variable de iteración de un loop contra un divisor y comparar con un resto. Permiten implementar código alternativo de acuerdo al valor de la variable de iteración, por ejemplo para diferenciar filas pares de impares.
Última modificación: Viernes 21 de agosto de 2020
- Nombre de la marca
- ifv, nifv, nifvc
- Sintaxis básica
-
%%ifv([divisor], [resto])%% ... %%/ifv%% %%nifv%%([divisor], [resto])%% ... %%/nifv%% %%ifvc([divisor], [resto])%% ... %%/ifvc%%
- Usable en:
Portadas
- Marcas relativas:
La marca ifv permite implementar un condicional según la división de la variable de iteración de un loop contra un divisor especificado. Usa un valor implícito, la variable de iteración, y debes definir dos parámetros de comparación
-
div
: número por el cual se divide el valor actual de la iteración. Esta división es modular (%). -
res
: resto de la división (o bien el resultado de una división "módulo").
Cuando el valor de la variable de iteración módulo div
es igual a res
, se muestra el código dentro del bloque ifv
.
La marca a utilizar para abrir una condición es %%ifv(div,res)%%
y para cerrarla %%/ifv%%
.
El siguiente ejemplo crea una lista de colores de fondo alternativos:
%%loop1%%
%%ifv(2,1)%%
<div class="blanco">
%%_txt_titular%%
</div>
%%/ifv%%
%%ifv(2,0)%%
<div class="gris">
%%_txt_titular%%
</div>
%%/ifv%%
%%/loop%%
Para el caso de la marca nifv
, responde de manera contraria a la marca IFV; tal como sucede con las marcas IF y NIF.
La marca a utilizar para abrir una condición es %%nifv(div,res)%%
y para cerrarla %%/nifv%%
.
En el ejemplo el área 1 está programada para que resalte sólo el primer artículo publicado y el resto lo publique con un diseño normal:
%%loop1%%
%%ifv(2000,1)%%
<div class="resaltado">
%%_txt_titular%%
</div>
%%/ifv%%
%%nifv(2000,1)%%
<div class="normal">
%%_txt_titular%%
</div>
%%/nifv%%
%%/loop%%
La marca ifvc (IFV-Continuar) permite agregar el código HTML que esté incluido en el siguiente IFV, con el objetivo de que el código HTML no quede sin terminar. Por ende, esta marca se utiliza en conjunto con la marca IFV. Su formato es idéntico a ésta.
La marca a utilizar para abrir una condición es%%ifvc(div,res)%%
, y para cerrarla %%/ifvc%%
.
El ejemplo muestra la creación de una tabla de 4 celdas por fila.
Se usa ifvc para crear cada celda e IFV para crear la última celda de la fila, de manera que la tabla siempre quede bien cuadrada.
Si no hay datos, Prontus continúa iterando en el loop hasta que no se cumpla la condición ifvc, es decir, incluye todas las celdas dentro de condiciones ifvc hasta completar cada fila.
<table>
%%loop1%%
%%ifvc(4,1)%%
<tr>
<!-- Primera celda de la fila. Aparece siempre que exista el artículo. Si aparece, fuerza una nueva iteración. -->
<td>%%_txt_titular%%</td>
%%/ifvc%%
%%ifvc(4,2)%%
<!-- Segunda celda de la fila. Aparece debido al ifvc anterior (4,1) y fuerza una nueva iteración. -->
<td>%%_txt_titular%%</td>
%%/ifvc%%
%%ifvc(4,3)%%
<!-- Tercera celda de la fila. Aparece debido al ifvc anterior (4,2) y fuerza una nueva iteración. -->
<td>%%_txt_titular%%</td>
%%/ifvc%%
%%ifv(4,0)%%
<!-- Cuarta celda de la fila. Aparece debido al ifvc anterior (4,3), pero no fuerza una nueva iteración, por lo tanto, si no existe un siguiente artículo, la tabla terminará aquí. -->
<td>%%_txt_titular%%</td>
</tr>
%%/ifv%%
%%/loop%%
</table>
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