Je voudrais une page qui affiche une liste de nœuds (je peux faire cette partie avec le module Views) et qui affiche également les détails d'un seul nœud sous la liste. Idéalement, les détails seront mis à jour via Ajax lorsqu'un nœud de la liste est cliqué, mais le rechargement de la page serait suffisant pour commencer.
Je commence tout juste à m'intéresser à Drupal et le nombre de niveaux auxquels je peux faire des choses est quelque peu écrasant. Par exemple, doit-il s'agir d'une page d'affichage avec un bloc personnalisé en bas de page ? Une page avec deux blocs (un pour la liste, un pour l'élément) ? Si oui, comment communiqueraient-ils l'ID du nœud ? Existe-t-il déjà un module qui peut faire cela pour moi ? Peut-être devrais-je écrire mon propre module ? Et ainsi de suite. Si quelqu'un ayant une meilleure compréhension générale de Drupal pouvait m'orienter dans la bonne direction, ce serait apprécié.
Edit : Merci pour les réponses jusqu'à présent, je pense qu'elles soulignent que j'ai omis un détail important dans ma question initiale. Donc, quelques détails supplémentaires :
Je voudrais que cette page soit effectivement la page d'accueil d'un utilisateur. En tant que telle, ma vue est limitée à l'affichage des nœuds qu'ils ont créés. Modifier la page de nœuds par défaut me poserait le problème de savoir vers quel nœud envoyer l'utilisateur lorsqu'il se connecte (ce qui peut être possible, je suppose) et signifierait également que je ne pourrais probablement pas voir le nœud sans voir également la vue ?
J'ai essayé une autre approche qui consiste à créer un nœud de page qui inclut la vue (appelée user_home) en utilisant du PHP. J'ai également configuré le contrôle de la vue pour créer un lien pour chaque nœud de la liste et inclure l'identifiant du nœud dans ce lien, par ex. http://localhost/drupal-6.10/?q=node/13/12 (où 13 est l'ID du nœud de la page que j'ai créée et 12 est l'ID du nœud de l'élément de la liste).
<?php
//output the user_home view
print views_embed_view('user_home', $display_id = 'default');
?>
<br/>
<hr/>
<br/>
<?php
$queryparam = $_GET["q"];
// find the second /
$index = strpos($queryparam, '/');
$index = strpos($queryparam, '/', $index + 1);
$displayNodeId = substr($queryparam, $index + 1);
$displayNodeId = (int)$displayNodeId;
if ($displayNodeId > 0)
{
$displayNode = node_load($displayNodeId);
print node_view($displayNode);
}
?>
Cela fonctionne, mais je suis sûr qu'il y a une façon plus conviviale et plus conforme à Drupal de faire les choses (et l'analyse des chaînes de requête est une mauvaise manipulation).