Ряд вопросов от новичка

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

Аватар пользователя S_F S_F 11 июня 2009 в 7:43

Сразу говорю, что с Друпалом работаю недавно. Сама система мне очень нравится, но многое непонятно, притом половина из достаточно "штатных" вещей.

Так что если не затруднит, то расскажите и накидайте ссылок где почитать. (Весь поиск уже измучал)
По возможности объяснять, как для полного идиота из серии ткнуть сюда, посмотреть там и будет тебе счастье.

Итак:

1. Совершенно не могу понять как реализовывается "дерево" Или как это называется. Одним словом надо, что бы
Пункт меню-> странница на ней список материалов и ссылок -> соответственно "дочки"

Из поиска понял что это каким то местом относится к таксономии и модулю book, но как именно настраивать так и не понял.
Пробовал "подшивками", немного не то.

2. Вообщем то аналогичный момент, но хочется что бы вместо линков выводились "анонсы", как на главной.
Из поиска понял что чем то спасает модуль nodereferrer. Но как именно им пользоваться тоже так и не смог разобраться.
(статью девушки на этом сайте читал)

3. Как создать нормальную фотогаллерею? Очень хотелось бы по структуре как в яндекс картинках.

4. Возможно ли на друпале подключить форум со структурой как на phpbb?

Очень прошу помочь.
Так же буду признателен за ссылки на подробные статьи с описанием интересных возможностей.

Заранее спасибо.

Комментарии

Аватар пользователя S_F S_F 11 июня 2009 в 8:06

Ну походу уже понял что book и подшивки одно и то же, но всерно прошу объяснить, как мне сделать обычное дерево:
пункт меню-> страница с текстов + ниже список ссылок на "дочки"

Аватар пользователя Azerot Azerot 11 июня 2009 в 8:17

То что вы описали ровно и реализуется через Book.
Создаёте Book page, в атрибутах указываете создать новую подшивку.
После создания этой страницы появляется ссылка - создать потомка (ну или как там в разных версиях переводов). После создания потомка на начальной странице подшивки появляется ссылка на него внизу страницы.
Если хотите развёрнутый список на всю глубину вложенности подшивки - пишите сниппеты, в стандартной реализации такого нет.

Аватар пользователя S_F S_F 11 июня 2009 в 8:38

Azerot wrote:
То что вы описали ровно и реализуется через Book.
Создаёте Book page, в атрибутах указываете создать новую подшивку.
После создания этой страницы появляется ссылка - создать потомка (ну или как там в разных версиях переводов). После создания потомка на начальной странице подшивки появляется ссылка на него внизу страницы.
Если хотите развёрнутый список на всю глубину вложенности подшивки - пишите сниппеты, в стандартной реализации такого нет.

Спасибо за ответы.

А возможно это реализовать что бы было интегрировано в текст ну к примеру:

Мы самые хорошие потаму, что:
-линк1
-линк2
-линк3

а вот они плохие потаму что:
-линк3
-линк4

?

Что такое сниппеты и с чем их едят?

Аватар пользователя Azerot Azerot 11 июня 2009 в 8:19

Quote:
3. Как создать нормальную фотогаллерею? Очень хотелось бы по структуре как в яндекс картинках.

Модуль Image и расширения к нему или модуль интеграции со сторонними галереями, например с Gallery2

Quote:
4. Возможно ли на друпале подключить форум со структурой как на phpbb?

Существует множество модулей интеграции Drupal со сторонними форумами, в том числе и с phpbb

Аватар пользователя Azerot Azerot 11 июня 2009 в 9:08

Как раз и можно реализовать через сниппеты. Например как у меня:
http://drupalist.org.ru/docs.html
где данная страница как бы перечень подшивок, а содержимое подшивки вытащено сниппетом.

Что такое сниппет:
http://drupalist.org.ru/FAQ/1.17.html

Аватар пользователя S_F S_F 11 июня 2009 в 9:33

Спасибо, собственно это и надо. А можно "фрагмент php кода" для выше описаного случая?

И все еще очень актуален вопрос, как сделать каталог? ну грубо говоря вместо линков запихать анонсы с ссылкой "читаль далее"

Аватар пользователя Azerot Azerot 11 июня 2009 в 9:59

Quote:
Спасибо, собственно это и надо. А можно "фрагмент php кода" для выше описаного случая?

Там самопал голимый, мне даже стыдно показывать Smile
Держите, мне не жалко, впрочем, но юзайте на свой страх и риск Smile
Одна функция, которая возвращает массив подшивки на одном уровне от корня, в качестве параметра $nid подшивки

function book_get_childs($nid) {

  $list_books = array();

  if (!isset($nid)) {
    return($list_books);
  }

  // получаем mlid данной подшивки
  $result = db_query(db_rewrite_sql("SELECT mlid FROM {book} WHERE nid=$nid"));
  if ($result) {
     $arr = db_fetch_array($result);
     $mlid = $arr['mlid'];
  } else {
    return($list_books);
  }

  if (!isset($mlid)) {
    return($list_books);
  }

  $result = db_query(db_rewrite_sql("SELECT n.nid, n.title, m.link_path FROM {node} n INNER JOIN {book} b ON b.nid=n.nid INNE
R JOIN {menu_links} m ON b.mlid=m.mlid WHERE n.status=1 AND m.plid=$mlid"
));
  if ($result) {
    while ($link = db_fetch_array($result)) {
      // Если есть и включен модуль Path
      if ($alias = drupal_get_path_alias($link['link_path'], $language)) {
        $link['href'] = $alias;
      } else {
        $link['href'] = $link['link_path'];
      }
      $list_books[$link['nid']] = $link;
    }
  }
  return $list_books;
}

Вторая функция, которая просто тупо выводит этот массив

function book_print_childs($list = array()) {
 
  foreach ($list as $key => $value) {
    print '<a href="/'.$value['href'].'">'.$value['title']."</a><br />\n";
  }
}

Quote:
И все еще очень актуален вопрос, как сделать каталог? ну грубо говоря вместо линков запихать анонсы с ссылкой "читаль далее"

Точно также как и я писал сниппеты. Берётся документация, читается и пишется свой код.

Аватар пользователя S_F S_F 11 июня 2009 в 10:26

Ех если бы я Php знал чуть больше чем поверхностно, то было бы куда проще...
Видимо всеж придется садиться за учебники)