Plantillas de Taxonomía

Artículos Relacionados

La plantilla para asociar artículos relacionados contiene sólo el trozo de código que se incrustará en el artículo (parecido a como trabajan las macros). Su estructura es:

< div class="adjuntos" >
%%LOOP%%
< p >< a href="%%_FILE%%" >%%_TITULAR%%< /a >< /p >
%%/LOOP%%
< /div >
%%_VERMAS%%
< div class="adjuntos" >
< a href="/%%_PRONTUS_ID%%/site/tax/port/all/taxport_%%_SECCION1%%_%%_TEMA1%%_%%_SUBTEMA1%%_1.html" >» ver más< /a >
< /div >
%%/_VERMAS%%

La ubicación de la plantilla es /<prontus_id>/plantillas/cache/taxonomia/pags/ y por convención se debe guardar con el nombre art_relac.html. Pero es posible tener múltiples plantillas con distintos nombres.

Para definir el número de artículos relacionados a desplegar en este sector, editar el archivo de configuración prontus_<prontus_id>-tax.cfg, y definir este valor en el parámetro NUM_RELAC_DEFAULT.

Tambien es posible definir el límite de artículos por plantilla, incluyendo la siguiente marca de configuración:

%%_NUM_RELAC=<limite>%%

Donde <limite> es el número máximo de artículos que se incluirán en la plantilla de relacionados, permitiendo como máximo 50 artículos.

Desde la versión 11.2.81, también se puede filtrar contenido (como en las plantillas de lista), mediante nuevas marcas Prontus reservadas, para excluir portadas específicas, o áreas de esa portada, y para especificar tipos de FID a mostrar:
%%_EXCLUDE_PORT_AREA=1,2%%
%%_EXCLUDE_PORT=inicio.xml%%
%%_FIDS=fid_galeria,fid_audio%%

Tal como en las plantillas de lista, la macro reservada _EXCLUDE_PORT_AREA permite especificar más de un área de una portada.

Portadas Taxonómicas

Estas plantillas son parecidas a las plantillas de portada, su estructura es:

%%LOOP%%
< div class="titular" >
< a href="%%_FILE%%" target="_top" >%%_TXT_TITULAR%%< /a >
< /div >
%%/LOOP%%
%%_msg%% Vea más en las siguientes páginas:| %%_HTML_NROS_PAG%% |%%/_msg%%
< !-- MSG no_results = No se encontraron resultados. -- >

La ubicación normal de las plantillas es /prontus_<prontus_id>/plantillas/tax/port/all/ y su nombre estándar es taxport.html.

Es posible preparar plantillas definidas para una taxonomía determinada, y para un solo tipo de FID. El código es el mismo, pero cambian la ruta y el nombre del archivo. Por ejemplo,

  • para tener una portada que muestre los artículos de cualquier tipo de FID en la sección 2, basta crear una plantilla /prontus_<prontus_id>/plantillas/tax/port/all/taxport_2.html.
  • para delimitar aún más la plantilla y mostrar una sección, tema y subtema, deberemos agregar los IDS al fondo del nombre de archivo, separados por "_". Esto resulta en /prontus_<prontus_id>/plantillas/tax/port/all/taxport_2_1_1.html:
  • para crear una plantilla que genere portadas de artículos de la sección 2 para el fid_noticias, deberemos usar la ruta /prontus_<prontus_id>/plantillas/tax/port/fid_noticias/taxport_2.html.
  • por último, no es necesario que el formato sea HTML. Si queremos una portada taxonómica en formato XML -por ejemplo para un feed RSS- podemos crear un archivo XML con la estructura que necesitemos, en la ruta deseada. En este caso, /prontus_<prontus_id>/plantillas/tax/port/all/rss.xml.

La estructura de una portada taxonómica en formato XML puede ser:

< ?xml version='1.0' encoding='utf-8'? >
< rss version="2.0" >
  < channel >
    < title >[NOMBRE]< /title >
    < link >http://www.[DOMINIO].cl/< /link >
    < description >[TEXTO]< /description >
    < ttl >60< /ttl >
    %%LOOP%%
      %%IF(_fid eq fid_general)%%
      < item >
        < pubDate >%%_UTCP%%< /pubDate >
        < title >%%_titular.xml%%< /title >
        < link >http://%%_SERVER_NAME%%%%_FILEURL%%< /link >
        < guid >http://%%_SERVER_NAME%%%%_FILE%%< /guid >
        %%IF(_TXT_BAJADA)%%< description >%%_bajada.xml%%< /description >%%/IF%%
      < /item >
      %%/IF%%
    %%/LOOP%%
  < /channel >
< /rss >

Para definir el número de artículos a desplegar por portada taxonómica, editar el archivo de configuración prontus_< nombre >-tax.cfg, y definir este valor en el parámetro TAXPORT_ARTXPAG. Puede encontrarse más información sobre las variables disponibles en el artículo correspondiente.

Generación de portadas

La generación de portadas taxonómicas se produce cada vez que se crea o actualiza la taxonomía de un artículo.  Para cada tripleta taxonómica se gatilla un proceso que genera las portadas correspondientes, procesando primero los niveles más generales y luego avanzando hasta los más específicos, en el siguiente orden:

  1. fid,
  2. fid/seccion,
  3. fid/seccion/tema,
  4. fid/seccion/tema/subtema

Este proceso se ejecuta en paralelo desde la versión 11.2.65 inclusive, generando la primera página de cada portada taxonómica mucho más rápidamente.

Un tema relacionado con éste es que por motivos de seguridad, al usar un cache Varnish en el frontend de un sitio Prontus no se hace PURGE a las portadas taxonómicas, ya que puede involucrar mucha carga para el servidor.

Además, desde la versión 11.2.65 se comienza a ejecutar la acción PURGE en el cache Varnish de la primera página de todos los niveles taxonómicos cuando se gatilla el proceso de actualización de portadas taxonómicas.  Es posible ver más información sobre el tema en el artículo sobre Variables generales, en las voces VARNISH_SERVER_NAME y VARNISH_GLOBAL_PURGE.

Desde la versión 11.2.67 se agregan chequeos en la librería lib_maxrunning. Desde esta versión, se controla que no haya más de una instancia del proceso prontus_regenera_port. A su vez, el proceso prontus_regenera_port controla que no se instancien más de 15 procesos hijos prontus_cron_taxport, pero si se da esa eventualidad, frena con un sleep por 2 segundos hasta que los procesos hijos sean menos de 15 nuevamente. Si se debe invocar sleep por más de 5 ciclos, se gatilla un proceso prontus_cron_taxport de todos modos, y el conteo vuelve a comenzar.

Desde la versión 11.2.73 está disponible el script prontus_regenera_relac.cgi, que permite regenerar la lista de artículos relacionados. Su uso es <base_path>/cgi-cpn/prontus_regenera_relac.cgi <prontus_id>

Paginado

Desde la versión 11.2.69 es posible configurar dos tipos distintos de paginación, el modo estándar mostrando el total de páginas dentro de la taxonomía; y otro mostrando la página actual, un número configurable de páginas hacia adelante y hacia atrás, y la primera y última páginas. Por ejemplo, visitando la página 8 de una portada taxonómica, un usuario vería la siguiente lista de enlaces:

1 ... 5 6 7 (8) 9 10 11 ... 20

El tipo de paginación y, en caso de elegir el modo breve, el número de páginas a mostrar, son configurables desde la sección de Administración - Configuración - Categorías del CPAN de Prontus. Las variables relevantes se describen en el artículo sobre Configuración de Categorías, y son TAXPORT_TIPO_PAGINACION y TAXPORT_PAGCORTA_MAXPAGS. Al modificar esta configuración sobre un prontus ya activo se deben regenerar las portadas taxonómicas.

Marcas de sección, tema y subtema
Desde la versión 11.2.73, están disponibles las marcas _tax_seccion, _tax_tema, _tax_subtema, _tax_nom_seccion, _tax_nom_tema, _tax_nom_subtema para las portadas taxonómicas, fuera del _LOOP de artículos. Estas marcas reemplazan a otras marcas reservadas similares, como _seccion y _nom_seccion. Es posible usar las marcas IF con estas nuevas marcas reservadas. Debe tenerse en cuenta que si se estaban usando las marcas _seccion para este propósito, dejarán de funcionar.

Paginación Custom

A partir de la versión 11.2.87 se agrega paginación custom para taxport.

Es posible cambiar el html de la paginación, configurable dentro de la misma plantilla de taxport mediante las siguientes variables:

HTML de cada número de página:

<!-- CONFIG HTML_NRO_PAG = <a class="pag_number" href="%%lnk%%">%%cnro_pag%%</a> -->

HTML de la página actual:

<!--CONFIG HTML_PAG_ACTUAL = <span class="current_pag">%%cnro_pag%%</span> -->

Separador que aparece al utilizar páginación tipo google:

<!-- CONFIG HTML_SEPARADOR = <span>...</span> -->