Меню из материалов типа Страница (page)

Главные вкладки

Аватар пользователя karakurt karakurt 4 августа 2008 в 22:45

Имеется тип материала Страница (т.е. page), как сделать чтоб меню формировалось автоматом из создаваемых страниц?

Комментарии

Аватар пользователя direqtor direqtor 5 августа 2008 в 4:37

Можно написать свой модуль, который будет отдавать блок со списком страниц.
Можно настройить такой блок во Views. Затем разместить его в нужном сайдбаре.

Аватар пользователя karakurt karakurt 5 августа 2008 в 9:06

>Можно написать свой модуль, который будет отдавать блок со списком страниц.
В моем случае наверное это было бы более удобным... но пока представления не имею с чего начинать... ковыряюсь..

>Можно настроить такой блок во Views. Затем разместить его в нужном сайдбаре.
это делал, но вот вид меню совсем не менюшный Smile

Аватар пользователя direqtor direqtor 5 августа 2008 в 12:20

Это почему? Если блок ставить в слева или справа, то Row style - Fields, в поля Title со ссылкой на ноду, Style - Unordered list, добавить заголовок и будет выглядеть как меню.
В крайнем случае можно стилями подогнать.

По модулям http://www.drupal.ru/node/10552

Аватар пользователя julia_leo julia_leo 5 августа 2008 в 9:47

<?php
$limit = 100;
$type = 'page';
$output = '';
$query = "SELECT node.created, node_revisions.nid, node_revisions.title, " .
"node_revisions.teaser, node_type.name " .
"AS typename FROM node_revisions, node, users, node_type " .
"WHERE (node_revisions.nid = node.nid) " .
"AND (node.status = 1)" .
"AND (node.uid = users.uid)" .
"AND (node_type.type = node.type) AND (node_type.type ='%s') ORDER BY node.created DESC";

$result = db_query($query, $type);
while ($arr = db_fetch_array($result)) {
if(strlen($arr['title'])>30) { $arr['title'] = substr($arr['title'], 0, 29);
$pos = strrpos($arr['title'], " ");
$arr['title'] = substr($arr['title'], 0, $pos);
}
?>