« Rechercher les contributions d'un auteur, les commentaires d'un pseudo, sur son propre blog | Page d'accueil | Personnalisez les éléments des colonnes sans (trop) intervenir dans le code »
06
oct
Afficher le début d'un commentaire, dans la liste des derniers publiés
Hautetfort ne donne que l'auteur du commentaire et le titre de la note concernée. Nous ne sommes pas obligés de nous en contenter. (Mise à jour d'une note du 13 mai 2009)
Quand d'aucuns toujours ministres vous inciteraient à prendre le vélo parce que l'essence est trop chère, comme d'autres vous inciteraient à manger des brioches quand le pain viendrait à manquer, il est temps de se prendre en charge pour ne pas se laisser faire par le système. Modestement, et avec gentillesse, bousculons les habitudes de notre blog pour afficher le début des commentaires.
Cette note a été mise à jour...
D'abord publiée le 20 janvier 2009, cette note a été mise à jour le 2 avril, pour conseiller le blogmestre avisé de prolonger sa lecture par la note détaillant la création d'un nouvel élément. Une véritable refonte a été faite 13 mai, après la mise en place du "fil de discussion" dans les commentaires.
Si le code de l'élémént "Commentaires récents" n'a pas réellement évolué, une mise à jour semble s'imposer pour ceux qui l'avaient personnalisé. C'était l'occasion de réécrire le code et la note qui suivent.
Le code du module « Commentaires récents »
Le code de base est le suivant. J'ai ajouté des retours à la ligne pour le rendre, relativement, plus lisible
{comments assign="comment" lastn="10" posts="posts"}
{if $comment.first}<ul>{/if}
<li>
<a href="{$comment.permalink}#c{$comment.id}">{$comment.authorname|truncate:50:"..."}</a>
{t}on{/t}
<a href="{$comment.permalink}">{$comment.post|truncate:50:"..."}</a>
</li>
{if $comment.last}
</ul>
{/if}
{/comments}
Comme pour le module "Dernières notes", on retrouve :
- La mention lastn="10" pour demander au moteur de servir les dix derniers commentaires.
Nous la modifierons pour ne demander que les 7 derniers commentaires. - {$comment.post|truncate:50:"..."} l'instruction d'affichage du titre de la note avec une troncature au 50ème caractère.
Nous ne voulons pas nous en tenir là, puisque nous voulons quelque chose du genre :
[À propos de...] :"titre de la note", [auteur du commentaire] a dit : "[début du commentaire]"
Pour le titre et l'auteur, les instruction sont déjà dans le code, mais pour le début du commentaire il faut utiliser {$comment.source}
Et comment je l'sais d'abord ? À l'analyse appliquée du template de la page de commentaire, vous auriez pu le comprendre vous-même ;-)
Dans un premier temps le code devient :
{comments assign="comment" lastn="7" posts="posts"}
{if $comment.first}
<ul>
{/if}
<li>
<a href="{$comment.permalink}">"{$comment.post|truncate:50:"..."}"
{$comment.authorname|truncate:50:"..."}
{t}a dit :{/t}
<a href="{$comment.permalink}#c{$comment.id}">"{$comment.source|truncate:50:"... "}"</a>
</li>
{if $comment.last}
</ul>
{/if}
{/comments}
On remarque le nombre de commentaires affichés limité à 7, le changement de nom de module, qui devient « À propos », et l'ordre d'affichage des variables.
Nous ajouterons un peu de mise en forme :
- Le titre de la note commentée {$comment.post} sera en italique entre guillemets.
Puisque son affichage est tronqué dans la colonne, nous l'afficherons in extenso dans une infobulle, en affectant title="..." au lien hypertexte. - Le nom de l'auteur {$comment.authorname} du commentaire sera en gras,
- La mention « a dit : » n'aura pas de mise en forme,
- Le début du commentaire {comment.source} sera en italique entre guillemets.
Pour finir le code devient :
{comments assign="comment" lastn="7" posts="posts"}
{if $comment.first}
<ul>{/if}<li>
<a href="{$comment.permalink}" title="{$comment.post}"><i>"{$comment.post|truncate:50:"..."}"</i> </a>
<b>{$comment.authorname|truncate:50:"..."}</b>
{t} a dit : {/t}
<a href="{$comment.permalink}#c{$comment.id}"><i>"{$comment.source|truncate:50:"... "}"</i></a>
</li>
{if $comment.last}
</ul>
{/if}
{/comments}
On peut préférer le code ci-dessous pour une formulation plus proche de l'originelle du genre : [Derniers commentaires] / [auteur du commentaire] sur "titre de la note", : "[début du commentaire]"
{comments assign="comment" lastn="10" posts="posts"}
{if $comment.first}
<ul>{/if}<li>
{$comment.authorname|truncate:50:"..."}{t} sur {/t}<a href="{$comment.permalink}" title="{$comment.post}"><i>"{$comment.post|truncate:50:"..."}"</i></a>
{t} : {/t}
<a href="{$comment.permalink}#c{$comment.id}"><i>"{$comment.source|truncate:50:"... "}"</i></a>
</li>
{if $comment.last}
</ul>
{/if} {/comments}
En vrai, mon code est un peu différent, à cause du design, mais il y a aussi une fonctionnalité que j'expliquerai plus tard.
Avisés lecteurs, n'oubliez pas de prolonger votre lecture par la note détaillant la création d'un nouvel élément. Vous verrez notamment que vous pouvez essayer cette personnalisation sans prendre de risque.
11:55
Ecrit par
Gee Mee [?] |
Lien permanent
|
Commentaires (6)
| Courriel
| Impression
| Partage
Dans : Configuration avancée, Personnaliser son blog |
Tags : template, module, commentaire, afficher, info-bulle











Trackbacks
Voici l'URL pour faire un trackback sur cette note : http://geemee.hautetfort.com/trackback/2004138
Commentaires
Ecrit par : Wiki [?] | 02.04.2009 » Répondre
Ecrit par : Gee Mee [?] | 02.04.2009 » Répondre
Je crois que "Wiki" n'existe pas : c'est un spam que j'ai déjà reçu, avec le même genre de phrase passe-partout.
Pardon à l'intéressé si je me trompe !
Ecrit par : See Mee [?] | 13.05.2009 » Répondre
Ecrit par : Isa [?] | 07.10.2009 » Répondre
merci pour votre blog, il est très bien fait
Ecrit par : Isa [?] | 07.10.2009 » Répondre
Ecrit par : Gee Mee [?] | 07.10.2009
Ecrire un commentaire