Cómo crear una plantilla de taxonomía

Este tutorial te enseña cómo implementar plantillas para mostrar contenido ordenado por taxonomías.

Publicado: Martes 25 de septiembre de 2018 por David García
Última modificación: Viernes 21 de agosto de 2020
Ubicación

Para crear una plantilla de taxonomía que pueda ser usada por todas las categorías por defecto, debes editar (o crear, en caso de que no haya sido creado por el prontus_wizard o no exista) un archivo de plantilla en el directorio /[nombre del prontus]/plantillas/tax/port/all/. En muchos casos encontrarás allí al menos una plantilla base, llamada taxport.html, pero puedes crear archivos con otros nombres y de otros formatos. Llamarlos "taxport" es una convención. Los archivos generados al procesar los artículos por taxonomías quedan ubicados en /[nombre del prontus]/site/tax/port/all/, y los nombres de archivo tienen la estructura [nombre de la plantilla]_[id-de-seccion]_[id-de-tema]_[id-de-subtema]_[pagina].[extensión]. En este caso, si creas un artículo con sección 1, tema 2 verías por ejemplo aparecer archivos llamados taxport_1__1.html, taxport_2__1.html taxport_1_2__1.html, taxport_1_2__2.html, etc. Como ves, se generan -o actualizan- páginas para cada sección, tema y subtema que asignes.

Código

La apariencia y disposición de cada uno de los elementos que se aprecien en la vista (Imagenes, videos, titulos, bajadas, entre otros) dependerá del diseño que hayas definido para el sitio. El que sigue es un ejemplo del contenido con las marcas básicas que puedes usar al momento de hacer una plantilla de taxonomía:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
<head>
    <title>Prontus.cl</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
    <div id="main">
        <!--migas-->
        <div class="seccion">
            %%if(_secc_tema_stema_nom)%%
            <a href="/prontus_df/site/edic/base/port/inicio.html">Portada</a> / %%_secc_tema_stema_nom%%
            %%/if%%
        </div>
        <!--/migas-->
        %%_msg%%
        <div >
            <div>
            %%loop%%
                <div>
                    %%if(fotofija_port80)%%
                        <div class="foto80">
                            <a href="%%_fileurl%%"> <img src="%%fotofija_port80%%" alt="%%_titular%%" /> </a>
                        </div>
                    %%/if%%
                    <div class="info2 aright">
                        <h2 class="titular"> <a href="%%_fileurl%%">%%_txt_titular%%</a> </h2>
                        %%if(_txt_bajada)%% <p class="bajada">
                            <strong>%%_fechapshrt%% | %%_horap%%</strong>%%_txt_bajada(300)%%
                            </p>
                        %%/if%%
                        %%nif(_txt_bajada)%%
                            %%if(vtxt_cuerpo)%%
                                <p class="bajada"><strong>%%_fechapshrt%% | %%_horap%%</strong>
                                %%vtxt_cuerpo(300)%%
                                </p> 
                            %%/if%%
                        %%/nif%%
                    </div>
                </div>
            %%/loop%%
            </div>
            <!--paginacion-->
            <div class="paginacion">
                <span>%%_html_nros_pag%%</span>
            </div>
            <!--/paginacion-->
        </div>
        %%/_msg%%
    </div>
</body>
</html>
Generar o actualizar portadas taxonómicas

La manera más rápida de actualizar una portada taxonómica luego de hacer un cambio a una plantilla es editar un artículo y asignarle o quitarle una taxonomía. Al refrescar la página de portadas taxonómicas deberías ver los cambios hechos a la plantilla. Por ejemplo, si editaste la plantilla /[nombre del prontus]/plantillas/tax/port/all/taxport.html, y guardas un artículo asignándole la sección Países (id=1), deberías ver los cambios refrescando la página /[nombre del prontus]/site/tax/port/all/taxport_1___1.html.

Regeneración

Cuando buscas aplicar cambios globalmente, refrescando de una sola vez todas las páginas de portadas taxonómicas, debes usar la funcionalidad de regeneración de taxonomías desde el panel de administración del sitio. Para ello visita la página Administrar Mantenimiento Regeneración.

Una vez allí debes buscar en el panel "Regeneración masiva de portadas Taxonómicas" la opción "Regenerar portadas Taxonómicas" y hacer click en ella, lo cual disparará un proceso que regenerará y entregará todos los archivos correspondientes a las vistas de categoría del sitio en /[nombre del prontus]/site/tax/port/all/*

Crear plantillas para una categoría específica

Una vez que crees una taxport para todas las categorías por defectos te preguntarás "¿Cómo puedo crear un diseño personalizado para una categoría en específico?", pues bien, de la misma forma que creaste "taxport.html" puedes crear una plantilla con el siguiente formato en el nombre del archivo: taxport_[id de la categoría].html, en la misma ubicación que la plantilla por defecto, /[nombre del prontus]/plantillas/tax/port/all/. Por ejemplo podrías crear el archivo /mi_prontus/plantillas/tax/port/all/taxtport_2.html, donde "_2" hace referencia al id de la categoría que debe tener su propia plantilla de portada taxonómica.

Puedes encontrar el id de una categoría específica en el panel de administración del sitio, en la vista Publicar → Categorías y Tags → Administrar Categorías.

Una vez allí verás desplegadas todas las categorías del sitio. en la columna "ID" podrás obtener el id de una categoría en específico.

Plantillas para categorías específicas

El código a utilizar en la taxport para una categoría en específico es el mismo que se suele utilizar en la taxport por defecto en cuanto a Marcas, Macros y elementos de marcado propios de Prontus se refiere. La única variación estará en el diseño hagas en cuanto a la dispocisión de cada uno de los elementos que formen parte de la vista (Imágenes, Títulos, textos, bajadas, entre otros).

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
<head>
    <title>Prontus.cl</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
    <div id="main">
        <!--migas-->
        <div class="seccion">
            %%if(_secc_tema_stema_nom)%% 
                <a href="/prontus_df/site/edic/base/port/inicio.html">
                Portada</a> / 
                %%_secc_tema_stema_nom%% 
            %%/if%%
        </div>
        <!--/migas-->
        <h1>Portada Solo para la categoría Comunidad (id 2)</h1>
        %%_msg%%
        <div>
            <div>
                %%loop%%
                    <div>
                        <p><h3>%%_titular%%</h3><p>
                        %%if(fotofija_port80)%%
                            <div class="foto80">
                                <a href="%%_fileurl%%">
                                    <img src="%%fotofija_port80%%"  alt="%%_titular%%"/>
                                </a>
                            </div>
                        %%/if%%
                    </div>
                %%/loop%%
            </div>
            <!--paginacion-->
            <div class="paginacion">
                <span>%%_html_nros_pag%%</span>
            </div>
            <!--/paginacion-->
        </div>
        %%/_msg%%
    </div>
</body>
</html>

Artículos Relacionados