Plantillas de artículos relacionados
Puedes crear una plantilla especial para embeber un bloque con los artículos relacionados en las plantillas de artículo. Puedes discriminar estos relacionados según sean cargados manualmente o por taxonomía.
Última modificación: Lunes 4 de enero de 2021
Prontus te permite seleccionar manualmente artículos relacionados a un artículo que estás editando, o mostrar artículos relacionados según taxonomía. Para esto debes implementar una plantilla especial y luego embeberla en tus plantillas de artículo. Aquí te mostramos cómo.
Tanto para los relacionados manuales como para los relacionados por taxonomía, la plantilla debe ubicarse en el mismo lugar: el directorio /[nombre del prontus]/plantillas/cache/taxonomia/pags
. Puedes crear múltiples plantillas. Convencionalmente llamamos a la principal "art_relac.html
", pero puedes darle el nombre que prefieras.
Al procesar los artículos, Prontus generará archivos de salida en y deberás embeberlos con código como el siguiente:
<!--# include virtual="/%%_prontus_id%%/site/artic/%%_fechac%%/pags/%%_ts%%_art_relac.html" -->
%%if(_tax)%%
<h2>Artículos Relacionados</h2>
<!--# include virtual="/%%_prontus_id%%/site/artic/%%_fechac%%/pags/%%_ts%%_art_relac.html" -->
%%/if%%
%%nif(_tax)%%
%%if(_seccion1)%%
<h2>Artículos Relacionados</h2>
<!--# include virtual="/%%_prontus_id%%/site/cache/taxonomia/pags/%%_seccion1%%_%%_tema1%%_%%_subtema1%%_art_relac_tax.html" -->
%%/if%%
%%/nif%%
La marca _tax contiene una lista con los timestamps de los artículos relacionados manualmente, separados por comas. En caso de que el artículo actual tenga relacionados asignados, se carga la página /%%_prontus_id%%/site/artic/%%_fechac%%/pags/%%_ts%%_art_relac.html
. De otro modo, se revisa si el artículo tiene una sección taxonómica asignada, y en ese caso se carga la página <!--# include virtual="/%%_prontus_id%%/site/cache/taxonomia/pags/%%_seccion1%%_%%_tema1%%_%%_subtema1%%_art_relac_tax.html" -->
. Como puedes ver, usamos dos plantillas distintas.
Nota: se generan relacionados solamente para la taxonomía completa del artículo, no para sus variantes. Por ejemplo, si el artículo tiene sección 1 y tema 3, se generarán los relacionados por taxonomía en "/%%_prontus_id%%/site/cache/taxonomia/pags/1_3__art_relac_tax.html"
, pero no en "/%%_prontus_id%%/site/cache/taxonomia/pags/1___art_relac_tax.html"
.
También es buena idea agregar código defensivo para chequear si el archivo existe. En ese caso el modo más sencillo es implementar este código de includes usando PHP, o agregar la instrucción onerror al include SSI:
<!--# include virtual="/%%_prontus_id%%/site/cache/taxonomia/pags/%%_seccion1%%_%%_tema1%%_%%_subtema1%%_art_relac_tax.html" onerror="/%%_prontus_id%%/stat/error_tax_no_existe.html" -->
Deberás crear el archivo error_tax_no_existe.html
para cubrir este caso.
Dado que la salida de los artículos relacionados por taxonomía es común a todos los artículos con la misma taxonomía, si deseas que en cada artículo no aparezca un enlace como relacionado a sí mismo, debes implementar un poco de código. En el ejemplo usaremos PHP para modificar la plantilla [nombre del sitio]/plantillas/cache/taxonomia/pags/art_relac.html
:
<h3>Relacionados</h3>
<div class="relac">
<?php $COUNTER = 0; ?>
%%loop%%
<?php if ($TS != '%%_ts%%' && $COUNTER < 6) { ?>
<article>
<span>
»
<span class="fecha-dinamica">
<span class="fecha" style="display: none;">%%_fechap%%</span>
<span class="hora" style="display: none;">%%_horap%%</span>
</span>
</span>
<a href="%%_fileurl%%" class="link">
%%if(txt_titular_portada)%%
%%titular_portada%%
%%/if%%
%%nif(txt_titular_portada)%%
%%_titular%%
%%/nif%%</a>
</article>
<?php
$COUNTER++;
}
?>
%%/loop%%
</div>
Dentro de ese código se usa la variable PHP $TS
, que debe declararse anteriormente en la plantilla del artículo, por ejemplo:
<?php $TS = "%%_ts%%";?>
<!doctype html>
<html>...
Lo dicho arriba vale para multivistas, pero en este caso debes crear las plantillas que necesites en los múltiples directorios dentro de /[nombre del prontus]/plantillas/cache/taxonomia/
. Por ejemplo, para una vista "movil" debes crear el subdirectorio /[nombre del prontus]/plantillas/cache/taxonomia/pags-movil/
y agregar dentro de él las plantillas que necesites.
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