У Вас отключен Javascript. Hover for more information! Но нет поводов для волнения: вы по-прежнему можете пользоваться сайтом! У Вас есть два варианта:
  • включить Javascript в браузере и обновить страницу, для наиболее продвинутых.
  • Кликать на кнопкеUpdate каждый раз для обновления списков выбора.

Выпадающий список для года выпуска

В ходе работ по созданию сайта возникла очередная простенькая задачка. В материале необходимо было реализовать поле "Год выпуска". Простой выпадающий список, в котором последовательно перечислены годы от некоторого начального, например 1900, и до текущего.

Сначала думал завести какое нибудь поле типа "Дата" и задать для него формат с одним только годом и прилепить календарик. Скачал модуль Date. Он попросил вдобавок модуль jQuery UI. Тот притащил за собой тяжелую библиотеку. Но с напрыга не получилось.

А задачка, как оказалось, решалась гораздо проще. Достаточно было создать поле с типом "Целое" (integer). B для него в списке допустимых значений использовать php-код:

return range( date('Y'), 1900 );

Отдельное спасибо сообществу Drupal.Ru, где и найдено было решение.

Местоположение пользователя

Учитывая перспективы развития сайта давно хочется заняться географией пользователей. Если попросту, то хочется по ip-адресу определять местоположение пользователя (а именно - страну и регион). И даже предлагаться зарегистрированным пользователям сохранять свое основное местоположение в своих профилях. Далее подробней.

1. Создать иерархический справочник "География" со странами и регионами.

2. При входе на сайт определять по IP местоположение пользователя.
Порядок следующий. На внешнем сервисе (на сколько я понял подходящих два: отечественный IpGeoBase и импортный MaxMind GeoIP® City Database. Для обоих есть соответствующие модули) определять страну и регион по IP-адресу. Проверять в словаре с географическими терминами наличие определенной страны и региона. В случае отсутствия добавлять их в справочник. Страну корневым термином, регион - дочерним.

Представления Drupal. Вывод корневых терминов словаря

Голову себе вынес, как вывести корневые термины словаря таксономии.

С самого начала выбрал для этого модуль Views, тем более, он у меня давно используется.

С аргументами я более менее разобрался.
Добавил ID термина (в настройках при добавлении из вывода исключил) и Термин (убрал Метку).
С фильтром, ограничивающим выборку одним словарем тоже все оказалось понятно.

Уперся в то, как вывести именно корневые термины из словаря таксономии.
Долго долго бился головой. К сожалению, документация по Views, по крайней мере, на русском языке оставляет желать лучшего. Пробовал и так и сяк. Перепробовал кучу связанных модулей. Ничего не выходит.

Путем проб и ошибок нашлось решение.
1. Добавил взаимосвязь "Таксономия: Родительский термин" (в настройках не указывать, что связь обязательна).
2. И после этого добавил фильтр "Таксономия: ID термина" (в настройках Связь = Родитель, Оператор = Пустое поле (NULL))

Руководство по быстрому старту в Drupal

Вчера на Drupal.ru наткнулся на книжку "Руководство по быстрому старту в Drupal": https://s3.amazonaws.com/DrupalGuide/DrupalGuide.pdf

На мой взгляд книжка здорово напоминает "BZ DRUPAL HANDBOOK": http://www.garageauto.info/node/11
Только покороче.

Лично меня привлек раздел касающийся представлений. Как раз его отсутствие я и указывал в недостатках BZ DRUPAL HANDBOOK. Давно хотел познакомиться с ними поближе. Хороший повод.

Почитаю внимательнее и детализирую свое мнение.

Вывод объединенных и общих галерей в Drupal

Имеем:
Drupal 6.19
Image 6.X-1.0-beta6
Views 6.X-2.11

В нашем случае Друпал организовывает галереи с помощью родного представления Image_gallery из состава модуля Image

Как известно, галереи в модуле Image организуются с помощью терминов таксономии.
А термины таксономии при выводе материалов можно объединять и обобщать. Или иными слова применять к ним операции AND и OR.
Таким образом получается, если для вывода галереи используется запрос /image/tid/XXX, где XXX - номер галереи, то для вывода объединенной галлереи необходимо использовать запрос /image/tid/XXX,YYY XXX и YYY - номера выводимых галерей. Но при вводе такого запроса, Друпал отвечал мне "Страница не найдена".

Для решения проблемы я полез в представление Image_gallery
Установил для его аргумента "Таксономия: ID термина" следующие значения:
а) настройки проверки:
1) проверка = "термин таксономии";
2) словари установить все доступные для изображений. По умолчанию должно быть "галереи изображений";

Авторuзация на Drupal-сайте через Mail.ru

На неделе наткнулся на запuсь: http://drupal.ru/node/48049
Понятно, мимо пройти не мог. В выходные было решено попробовать. И было попробовано.

Отдельно хочу отметить качество документации. Нашел ответы на все свои вопросы. И качество перевода отдельно порадовало.

1. Сначала я поставил mail_ru_auth
Все четко по инструкции.
а) настройка осуществляется в подразделе "Mail.ru Auth Settings" раздела "Настройка сайта";
б) установил флажки:
- "показывать кнопку входа через mail.ru на странице логина";
- "показывать кнопку входа через mail.ru в блоке логина";
в) остальные настройки не трогал.

2. Следующим поставил mail_ru_share
Тут инструкции не оказалось. Но не надо было быть семu пядей во лбу, чтобы догадаться.
а) включил модуль;
б) настройка осуществляется в подразделе "Mail.ru Share Settings" раздела "Настройка сайта";
в) там установил флажки для нужных типов материалов (заметка, запись в блоге в моем случае);

Drupal. Убрать термины таксономии из тизера материала

В прошлом сайта Олег настоял на том, чтобы я убрал термины таксономии (ключевые слова) из тизера (форме отображения на главной станице) материала.

Я убрал их отображение совсем (и из полного отображения материалов полностью) с помощью модуля Taxonomy_Hide.

Но мысль вернуть ключевые слова в полное отображения материала не оставляла меня.

И вот, решение найдено.

В шаблоне материала (node.tpl.php) меняем строку:

    <?php if ($terms): ?><div class="terms"><?php print $terms ?></div><?php endif; ?>

на:

    <?php if ($terms): { if ($page != 0) { ?><div class="terms"><?php print $terms ?></div><?php }} endif; ?>

Возможно, мой PHP плох, но мысль очевидна. Просто добавляем проверку, тизер или страница.

Drupal. Управление репутацией пользователей

Решил разобраться с имиджем (репутацией) пользователей сайта.

Для начала немного теории.

Как оценить имидж пользователя?
а) по его активности;
б) по качеству его активности.

Как оценить активность пользователя?
а) поощрять размещение материалов;
б) поощрять комментирование (участие в обсуждениях);
в) поощрять оценку материалов сайта.

Как оценить качество активности пользователей?
Дать возможность другим пользователям оценить материалы и комментарии оцениваемого пользователя.

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

1. В качестве основы выбрал модуль User Points. Это скорее библиотека, на основе которой мы будем решать наши задачи. Она позволяет учитывать оценки пользователей и визуализировать эти оценки.

Drupal. Подсветка внешних ссылок

Давно хотелось подсветить внешние ссылки. Хотя бы чтоб самому стало понятно, какие ссылки куда ведут.

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

Помимо подсветки внешних ссылок, которые он пасет по адресу, а не способу открытия (как я наивный юноша Чукотки предполагал). Мало того. В нем есть опция, которая позволяет открывать внешние ссылки в новом окне. Т.е. не надо париться с опцией target="_blank" для внешних ссылок. Модуль все сделает сам. И больше того, можно настроить уведомление о переходе на внешний сайт. Типа за контент не отвечаем.

Остался очень доволен. Рекомендую.

Добавление галереи в материал Drupal с помощью представлений

Продолжая тему работы с изображениями в Drupal, хочу поделиться способом вставки галереи изображений в материал Drupal. Этот способ имеет актуальность, если Вы на своем Drupal-сайте используете модуль Views.

Как известно галерея изображений представляет собой представление image_gallery. Таким образом, зная как вставить в материал представление, становится ясно, как вставить и галерею. Мне уже попадалась на глаза подобная тема, но что-то не получилось. И вот в очередной раз я встретил тему вставка view в содержание страницы на сайте Drupal for you. Благо, в комментариях к теме затрагивалась в том числе и вставка галлереи.

RSS-материал