Мне нужна страница, которая отображает список узлов (я могу выполнить эту часть с помощью модуля Views), а затем также отображает сведения об одном узле под списком. В идеале детали будут обновляться через Ajax при щелчке по узлу в списке, но перезагрузка страницы будет хорошей для начала.
Я только начинаю проникать в Drupal, и количество уровней, на которых я могу что-то делать, несколько ошеломляет. Например, это должна быть страница просмотра с настраиваемым блоком внизу? Страница с двумя блоками (один для списка, один для элемента)? Если так, как они будут сообщать идентификатор узла? Уже есть модуль, который сделает это для меня? Может быть, я должен написать свой собственный модуль? И так далее. Если бы кто-то с лучшим общим пониманием Друпала мог указать мне правильное направление, это было бы оценено.
Edit:
Спасибо за ответы до сих пор, я думаю, они указывают, что я упустил важную деталь в своем первоначальном вопросе. Итак, еще несколько деталей:
Я бы хотел, чтобы эта страница была главной страницей пользователя. Таким образом, мое представление ограничено отображением созданных ими узлов. Редактирование страницы узла по умолчанию дало бы мне проблему с тем, на какой узел отправлять пользователя при входе в систему (что, возможно, возможно), а также означало бы, что я, по-видимому, не смог бы просмотреть узел, не увидев также вид? 1009 *
Я пробовал другой способ, который заключается в создании узла страницы, который включает представление (называемое user_home) с использованием некоторого PHP. Я также установил элемент управления View, чтобы создать ссылку для каждого узла в списке и включить идентификатор узла в эту ссылку, например. http://localhost/drupal-6.10/?q=node/13/12 (где 13 - идентификатор узла созданной мной страницы, а 12 - идентификатор узла элемента в списке).
<?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);
}
?>
Теперь, это работает, но я уверен, что это более дружественный / совместимый с друпами способ ведения дел (а разбор строки запроса - отвратительный взлом).