06.10.2009
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 (Webmaster) |
Lien permanent
|
Commentaires (9)
| Courriel
| 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
Écrit par : Wiki | 02.04.2009
Répondre à ce commentaireÉcrit par : Gee Mee | 02.04.2009
Répondre à ce commentaireJe 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 !
Écrit par : See Mee | 13.05.2009
Répondre à ce commentaireÉcrit par : Isa | 07.10.2009
Répondre à ce commentairemerci pour votre blog, il est très bien fait
Écrit par : Isa | 07.10.2009
Répondre à ce commentaireÉcrit par : Gee Mee | 07.10.2009
D'avance merci
Écrit par : Alice | 24.11.2010
Répondre à ce commentaireIl n'existe pas à ma connaissance de possibilité de tri inverse (le plus ancien d'abord) de l'affichage des notes et ou commentaires. D'ailleurs, je me permets de douter de la pertinence d'une telle démarche. Quel pourrait-être l'intérêt de toujours afficher la première note ou le premier commentaire... de l'existence du blog.
Par contre, effectuer une sélection dans ses notes et ou commentaires, puis les afficher dans une "liste de liens" peut être intéressant.
En espérant vous avoir été utile malgré tout.
Écrit par : Gee Mee | 26.11.2010
Pour ce qui est de l'interet, je voulais seulement appliquer ce tri inverse à mes catégories pour que, pour prendre l'exemple de mon blog, quand quelqu'un clique sur la catégorie "Orgueil et Préjugés" pour voir tout ce qui se rapporte à ce livre, le premier billet soit la présentation du livre que j'avais faite au tout début. Cela me paraissait plus cohérent.
Merci encore et a bientot j'espère
Écrit par : Alice | 26.11.2010
Répondre à ce commentaireÉcrire un commentaire
NB : Les commentaires de ce blog sont modérés.