Вверх

Блог
RSS лента

Меню рубрикатор для блога на Drupal

Расскажу о наиболее простом, на мой взгляд, способе создания вертикального меню рубрикатора для блога на Drupal с отображением количества постов в каждой из категорий (такой рубрикатор можно наблюдать на нашем блоге справа). Вам не понадобится ставить ни одного дополнительного модуля. Метод основан на использовании базового модуля Taxonomy, иначе говоря, на стандартных тегах.

Заходим в раздел администрирования "Конструкция сайта->Блоки" ("Site Building->Blocks"). Там нажимаем на вкладку добавления нового блока. В поле "Описание блока" вводим понятное нам название для отображение в админке, например, "Рубрикатор". Задаем заголовок блока, видимый для пользователей, и вставляем следующий код в текст блока:

  1. $node_type = "blog"; //тип ноды $vocabulary_id = 1 ; //номер словаря тегов $number=10; //количество разделов в рубрикаторе $result = db_query_range("SELECT d.tid, d.name, MAX(n.created) AS updated, COUNT(*) AS count FROM {term_data} d INNER JOIN {term_node} USING (tid) INNER JOIN {node} n USING (nid) WHERE d.vid = %d AND n.status = 1 AND n.type = '%s' GROUP BY d.tid, d.name ORDER BY
  2. COUNT DESC ", $vocabulary_id, $node_type, 0, $number);
  3. $items = array();
  4. while ($category = db_fetch_object($result)) {
  5. $items[] = l($category->name , 'taxonomy/term/'. $category->tid).' ('. $category->count .')' ;
  6. }
  7. print theme('item_list', $items);
  8. ?>

Небольшой комментарий к коду: переменная $node отвечает за тип ноды, для записей блога необходимо оставить ей значение "blog", как в примере. $vocabulary_id - это номер словаря тегов, который будет использован для нашего рубрикатора. Посмотреть этот номер можно в разделе админки "Содержание->Таксономия" ("Content->Taxonomy") - наведите мышкой на словарь и в конце ссылке увидете его номер. Если вы не создавали больше одного словаря, то скорее всего его номер "1".
Ну и переменная $number отвечает за количество разделов в создаваемом меню, в примере, как видим, их 10.

Далее надо не забыть выставить правильный фильтр в подразделе "Формат ввода", иначе введенный код не будет интерпретироваться Drupal-ом. Нам необходимо указать "PHP Code" фильтр. Если у вас его нет в списке, то следует зайти на страничку модулей и включить стандартный модуль "PHP Filter".

Теперь жмём "Сохранить блок", указываем его местоположение на странице управления блоками и, собственно, готово. У нас получился блок, отображающий разделы, основанные на ваших тегах, прикрепленных к статьям, и количество постов в этих разделах. Можно применить к нему стили, использовав класс div-а контейнера "rubricator".

Источник: http://www.cookieslovers.com/content/delaem-navigatsionnoe-menyu-rubrikator-dlya-bloga-na-drupal 

Ваша оценка: Пусто Средняя: 3.4 (8 votes)
Твитнуть

Комментарии

Отправить комментарий

 

Подробнее о форматировании

CAPTCHA
Если вы человек, то тогда введите цифры изображенные на картинке ниже
Введите символы, изображенные на картинке.
Главная | Портфолио | Услуги | Контакты | Блог