Недавно предо мной стала задача создать сайт на CMS Drupal 6.X и в техническом задании была гостевая книга... Все бы хорошо, но посмотрев на модуль гостевой книги CMS Drupal,стало понятно, что без напильника тут не обойтись. Очень уж "убого" выглядел данный модуль в дефолтном исполнении.
Чем мне не понравилась гостевая на Drupal'е?
- Поле E-Mail для Гостя было не обязательным, чтоб сделать его таковым нужно лезть в код модуля;
- Администратор не может просмотреть в посте Гостя ни E-Mail, ни Homepage, если в настройках публикации гостевой книги эти поля отключены для отображения;
- При клике на поле Homepage происходит переход по ссылке в том же окне браузера;
- Записи в гостевой не модерируются;
- Местами кривой перевод на русский, отсутствует как таковой, либо не правильно установлены параметры перевода.
Что получилось?
- Поле E-Mail можно сделать обязательным для заполнения (по умолчанию включено);
- Администратору видны поля E-Mail и Homepage в посте Гостя, не зависимо от настроек отображения гостевой;
- При клике на поле Homepage происходит переход по ссылке в новом окне браузера;
- Записи в гостевой модерируются, причем посты зарегистрированных пользователей отображаются сразу, гостевые посты ожидают проверки администратором. Для возможности модерации под учетными записями, с правами администрирования гостевой книги, добавлена кнопка "Разрешить/Запретить запись";
- Добавлено в модуль загрузку таблицы стилей, отображение зебры (эта функция хотя и присутствовала в модуле, но была в весьма зачаточном состоянии);
- В админке добавлены соответствующие изменениям опции (Модерирование и требование E-Mail);
- Кое-где поправлены параметры перевода на русский, дополнен перевод (но еще правда не полностью переведен).
Установка
- Установка, как обычно для друпала - скопировать папку модуля на хостинг в папку /sites/all/modules.
- Включите модуль в Управление => Конструкция сайта => Модули.
Настройка
- Настройка доступа в Управление => Управление пользователями => Разрешения => Гостевая книга.
- Настройка параметров в Управление => Настройка сайта => Гостевая книга.
Captcha
Если хотите подключить капчу к гостевой книге, то скачайте и установите модуль captcha [1], а затем в настройках капчи (Управление => Управление пользователями => CAPTCHA) в таблице Form protection добавить запись:
form_id | Challenge type |
guestbook_form_entry_form | Default challenge type |
Как обновить ранее установленный модуль guestbook?
В CMS Drupal есть метод для обновления версий модулей - update.php. Воспользуйтесь им. Если возникнут проблемы - проведите обновление структуры БД вручную - необходимо создать две колонки в таблице {prefix_}guestbook:
- moderated
- moderator
Это можно сделать либо средствами PHP MyAdmin, либо из консоли MySQL:
ALTER TABLE {prefix_}guestbook ADD moderated TINYINT UNSIGNED DEFAULT '0'; ALTER TABLE {prefix_}guestbook ADD moderator INT(10) UNSIGNED DEFAULT '0'; |
После этих манипуляций нужно заменить файлы модуля на хосте новыми файлами из архива.
Скачать модуль [2]
Публикация взята отсюда [3]