Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

17.11.2009

Personnaliser "Tags populaires" pour accéder à tous les tags dans la page "toutes les archives"

Cet élément de colonne par défaut propose les 10 tags les plus populaires dans votre blog. Pour accéder à tous les autres, il faut se rendre dans la page "Toutes les archives". Voyons comment favoriser un accès direct à l'ensemble des tags. Il nous faudra d'abord avoir des "ID" clairs dans le modèle "Toutes les pages", puis établir des liens hypertextes.


Personnalisons le modèle de page "Toutes les archives"

Il nous faut être précis, car plusieurs modèles de page comportent le mot "archives". Par ordre d'apparition à l'écran, dans la liste des modèles accessibles en configuration avancée, on a "Modèle de la page archives", "Toutes les archives" et "Modèle de la page toutes les archives".

C'est bien la seconde qui nous intéresse. On y trouve toutes les périodes d'archivage des notes, toutes les catégories, et tous les tags.


Pour un accès direct à l'une ou l'autre de ces sections, il faut poser une "ancre" dans le titre. Je ne reproduis ci-dessous qu'un extrait du code du modèle "Toutes les archives". Mon intervention se limite à ce qui a été surligné, bien peu de choses en fait.

{categories assign="category"}{if $category.first}
<h2 id="categories">{t}Archives by categories{/t}</h2><ul class="category-list">{/if}
<li><a href="{$category.url|urlchar|lower}/">{$category.name}</a></li>
{if $category.last}</ul>{/if}{/categories}

{archives assign="archive" archive_type="Monthly" date_format="%Y-%m"}{if $archive.first}
<h2 id="dates">{t}Archives by months{/t}</h2><ul class="archive-list">{/if}
<li><a href="{$archive.url}">{$archive.name}</a></li>
{if $archive.last}</ul>{/if}{/archives}

{tags assign="tag" order="alpha" popular="popular"}{if $tag.first}
<h2 id="tags">{t}Archives by tags{/t}</h2><ul class="tag-list">{/if}
<li><a style="font-size: {$tag.tagcount|tofontsize};" href="{$blog.url}tag/{$tag.name|urlencode}">{$tag.name}</a></li>
{if $tag.last}</ul>{/if}{/tags}

Je déconseille l'utilisation de lettres accentuées dans le code, aussi ai-je préféré "categories" à "catégories". Vous pouvez faire des choix différents, le tout étant de s'en rappeler à l'étape suivante.


Créons maintenant les liens directs

C'est l'enfance de l'art, il suffit d'ajouter à l'URL un signe dièse et le libellé de l'ID, comme ci-dessous :
- pour les dates : http://geemee.hautetfort.com/archives/#dates
- pour les catégories : http://geemee.hautetfort.com/archives/#categories
- pour les tags : http://geemee.hautetfort.com/archives/#tags


Personnalisons "Tags populaires"

J'ai récupéré le code de l'élément dans le modèle de page de la colonne et j'y ai seulement ajouté ce qui est surligné là encore. Puis j'ai créé un élément de colonne personnalisé.

{tags assign="tag" from="0" limit="10" shuffle="shuffle" popular="popular"} {if $tag.first}
<ul class="popular-tags">{/if}
<li> <a style="font-size: {$tag.tagcount|tofontsize};"
href="{$blog.url}tag/{$tag.name|urlencode|replace:"%2F":"/"}">
{$tag.name|truncate:50:"..."}</a> </li> {if $tag.last}</ul> {/if}{/tags}
<a href="/archives/#tags" target="_blank">Tous les tags...</a>


J'ai aussi modifié le code de l'élément personnalisé "calendrier" pour que "Toutes..." à la fin du menu déroulant pointe vers la section "dates" de la page archives.


À vous d'en trouver les bons usages.

Commentaires

Je vais m'y essayer ce week-end. je sens que ça va être un chemin de croix :)

Écrit par : Océane | 17.11.2009

Répondre à ce commentaire

Ce week-end ? Vous faites des projets à long terme maintenant ?-)
Le dimanche me paraît être bien choisi pour un chemin de croix, mais modérez votre passion, et je vous soutiendrai dans votre calvaire.

Écrit par : Gee Mee | 18.11.2009

Comme prévu le Golgotha ne pardonne pas... Il me faut Simon de Cyrène.

Écrit par : Océane | 21.11.2009

Répondre à ce commentaire

Pas la peine de m'envoyer la centurie 21* pour que je vous aide, mais pour prendre votre place...
(C'est bien après que l'on dira 22 v'la les...)

Écrit par : Gee Mee | 22.11.2009

Votre post m'a ouvert des horizons mais, après réflexion, j'ai préféré plutôt essayer de modifier le nombre de tags populaires affichés, en le passant à 20. A mon grand étonnement, j'ai réussi ! Pour ceux que cela intéresserait, j'ai modifié le modèle de la page Tags en remplaçant 10 par 20 dans les 2 lignes suivantes :

{posts assign="post" lastn="20" tag="`$tag.title`" commentcount="commentcount" trackbackcount="trackbackcount" categories="categories" sort_order="DESC"}

{if $post.postcount>20}{t}All the posts{/t}{/if}

Puis en modifiant le modèle de la colonne dans laquelle s'affichent les tags en remplaçant là aussi 10 par 20 dans l'expression suivante :

{tags assign="tag" from="0" limit="20" shuffle="shuffle" popular="popular"} {if $tag.first}

Écrit par : Octobre | 15.12.2009

Répondre à ce commentaire

Octobre, la modification que vous avez faite dans l'élément de colonne intervient bien sur le nombre de "tags" affichés, aucun doute. Et bravo de vous y être "risquée" ;-)
Par contre, la modification effectuée dans le modèle de la page "tags" agit sur le nombre de notes affichées pour un "tag" avant que ne soit proposé le lien "Toutes les notes" en bas de page.

Écrit par : Gee Mee | 15.12.2009

Je vois que je risque de faire des grosses bêtises en allant bidouiller comme ça sans comprendre le pourquoi du comment ! Merci de l'explication !

Écrit par : Octobre | 16.12.2009

Répondre à ce commentaire

En l'occurrence, ce n'était pas une grosse bêtise, tout au plus une erreur de manipulation. Si vous préférez demander avant, n'hésitez pas ;-)

Écrit par : Gee Mee | 16.12.2009

Les commentaires sont fermés.