Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Comment ajouter une liste des billets de blog récents à une page Utilisateur ?

Référence en anglais sur drupal.org : http://drupal.org/node/755174
28 Mars 2010 - 02h59


J'ai rassemblé plusieurs morceaux de code (c'est l'auteur sur drupal.org qui parle. NdK) pour créer une liste des billets de blog récents d'un utilisateur, sans utiliser Views. Vous pouvez utiliser ce qui suit sans avoir à utiliser Views ou un module quelconque. C'est plutôt simple. Et à utiliser dans votre fichier gabarit surchargé user-profile.tpl.php. Vous pouvez coller le code directement à la fin du fichier.

<?php
$nlimit 
5;
$query"SELECT n.created, n.title, n.nid, n.created FROM {node} n WHERE n.uid = %d AND n.type = 'blog' AND n.status = 1 ORDER BY n.created DESC";
$result db_query_range(db_rewrite_sql($query), $account->uid0$nlimit);
while (
$node db_fetch_object($result)) {
         print 
'<div><ul><a href="';
        print 
'../' drupal_get_path_alias('node/'.$node -> nid);
        print 
'">' $node->title "</a>\n&nbsp;-&nbsp;";
        print 
date('F d,y'$node->created) . '</ul></div>';
}
?>

Dans ce code, j'interroge la base de données sur tout le contenu pour lequel l'utilisateur dont on affiche la page est l'auteur. Puis je trie sur la date, par ordre descendant, ce qui place les billets récents en tête de liste.

Je restreins ensuite le nombre de billets affichés au nombre indiqué dans la variable $nlimits, initialisée en début de code. Là j'ai mis 5, vous pouvez modifier cette valeur avec celle qui vous convient.

Ensuite, j'affiche les champs désirés du contenu de chaque billet, dans le cas présent un titre en lien vers le billet de blog - en utilisant l'alias d'URl au lieu de l'ID du node, les deux fonctionnent mais cette façon est plus élégante - et la date de création, qui est mise en forme.

Cela m'a pris quelque temps de trouver le code correct pour arriver à ce résultat. Je voulais le partager car plusieurs personnes recherchaient comment faire, moi y compris. Après de multiples recherches je suis tombé par hasard sur quelques choses qui marchaient à peu près comme je voulais. J'ai tout rassemblé et voilà !

C'est très facile à implémenter, même si vous n'avez pas personnalisé votre fichier user-profile.tpl.php, collez simplement ce code à la fin de votre fichier et ça marche. Il n'y a pas de champs personnalisés à modifier ou quelque soit d'autre. Si vous le voulez, vous pouvez modifier la mise en page à votre guise. Celle-ci me convient à moi.

Voici un exemple du rendu final : http://www.flickr.com/photos/48785425@N07/4468915462.