[Drupal 6] и снова о нем (модули, reindex, redirect…)

За день до Нового Года уже не думаешь ни о какой работе. Хочется праздника, мандаринок и веселья. Но есть такие чудо-вещи как дед-лайн, код-фриз и заказчик за 7 часовых поясов.
Ниже описаны несколько вещей, с которыми я столкнулся за последнее время.

Переиндексация контента сайта на Drupal 6. По хорошему это все делается через крон Друпалом. Но мне надо было только переиндексировать контент и именно сейчас. То есть, мне не надо выполнять другие задачи, которые висят на кроне. Тут на помощь пришел модуль reindex. Модуль хорош всем: минимум настроек, понятное описание, удобный интерфейс (на две кнопки 🙂 ). Единственное, что надо иметь ввиду — модуль «выполняет» каждую страницу, то есть — если страница содержит php-код, то модуль будет ждать, пока он выполнится. Чем это плохо? У меня была страница, которая нормально работала в сети клиентов, но не могла работать на локалхосте у меня. В ней было обращение к одному из внутренних серверов заказчика. И Reindex ждал, пока эта страница выполнится (естественно, страница вылетела с ошибкой времени выполнения скрипта). Как с таким бороться? На время переиндексации сайта ставим для этой страницы статус unpublished. Такие страницы модуль не трогает. А после развертывания проекта на серверах заказчика все равно надо будет проводить переиндексацию (благо, сайт не очень большой — чуть больше 600 страниц). Да, по времени весь этот процесс (переиндексация) занял около 100 секунд. Что вполне допустимо даже в экстренных ситуациях.

Если говорить о модулях для Drupal’а, то стоит сказать, что после их активации часто бывает необходимо выставить права доступа к ним для групп пользователей (вроде бы очевидно, но для меня было очень неожиданно, что пользователь с правами админа не имеет права настроить модуль). Права доступа находятся здесь — admin/user/permissions.

Еще одна задача, с которой я столкнулся при разработке нового сайта на основе старого, это редиректы. Да, некоторые старые странички теперь находились под новыми адресами и надо было об этом рассказать Гуглу и другим заинтересованным лицам (то есть, сделать 301-редирект). Помог мне в этой модуль Path Redirect. С установкой никаких проблем быть не должно. В использовании тоже. Главное помнить, что «старый путь» (тот, с которого ведет редирект) не должен быть использован ни для какой страницы. Иначе создать редирект не получится. Да, модуль поддерживает не только 301, но и 300, 302, 303, 304, 305, 307 редиректы.

В разработке этого проекта для меню сайта мне пришлось использовать модуль jQuery Megapack menu (выбор тут сделали за меня, так что имеем, что имеем 🙂 ). Но в один прекрасный момент заказчики захотели, что бы подменю появлялось не сразу после наведения курсора, а через определенный промежуток времени (при этом должно проверяться, что курсор не покидает пункта меню). Тоже самое и для отвода курсора. Тут уже никакие Drupal’овские модули не нужны. Тут надо в сторону jQuery смотреть. И весьма кстати тут пришелся плагин hoverIntent. Это то, что доктор прописал. Грамотно написан, имеет понятный интерфейс для работы (см. Как правильно писать плагин для jQuery). В документации написано, что необходимо подключить jQuery 1.5, но у меня плагин заработал и на 1.3.2. Для Drupal 6 подключить jQuery выше 1.3.2 получается проблематично (для этого проекта), так что был приятно удивлен требованиями hoverIntent.

На этом заканчиваю небольшую dev-заметку.

1 комментарий
  1. ULTRA сказал(а):

    и это за пару дней до НГ…вы
    Зато, на выходных мы уже встречали Дракончика =)

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

Top ↑ | Main page | Back