Управление модулями

Модули - это ... Мда. Это код, который можно легко добавить к Друпал, настроить (некоторые модули не предоставляют настройку) и удалить. Модули эти добавляют какие-то полезные функции в Друпал.

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

Недостатки использования дополнительных модулей

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

Зачем создавать свой модуль?

Иногда в процессе работы приходится решать очень нестандартную задачу, которую никто раньше не решал. Тут и пригодится умение создавать модули.
Но, опять же, часто можно решить проблемы другими путями. Например, написать РНР-код и вставить его в блок или страницу.

Обновление модуля

Проблема:

Вышла новая версия модуля, который установлен на сайте. Нужно обновить модуль.

Решение:

Чтобы обновить версию модуля:

Слежение за версиями модулей

Задача:

Нужно следить за выходом новых версий модулей, чтобы вовремя их обновлять.

Решение:

Список модулей на сайте

Задача:

Узнать какие модули доступны и/или установлены на сайте

Решение:

Список модулей по именам папок

Если у вас есть доступ к папкам сайта, то самый быстрый способ узнать, какие модули есть в наличии можно в папках:

  • /корневая папка сайта/sites/all/modules (здесь должны быть дополнительные модули) и
  • /корневая папка сайта/modules (здесь должны быть только системные модули, включённые в Друпал по умолчанию).

Но узнать установлены ли эти модули или нет по файлам вы не сможете...

Список модулей через веб-интерфейс сайта

Посмотреть список установленных и не установленных модулей можно по адресу:
http://ваш сайт/admin/build/modules

Если вместо списка модулей вы видите белую страницу, то прочитайте статью: Страница модулей не открывается.
Если это не помагает, то есть ещё один способ получить список модулей...

Список модулей в базе данных

Если сайт недоступен или есть только дамп базы данных, то можно посмотреть список модулей прямо в базе данных.
Этот запрос покажет список установленных модулей:

SELECT name FROM system WHERE type='module' AND status=1

Этот запрос покажет список всех (установленных и нет) модулей:

SELECT name FROM system WHERE type='module'

Удаление модуля

Задача

Удалить модуль на сайте.

Решение

Удалить модуль можно:

  • удалить обычным образом через сайт
  • удалить в базе данных (при этом останется папка с файлами модуля)
  • удалив папку с модулем (при этом в базе останутся таблицы, созданные модулем)

Удаление обычным образом через сайт

Откройте в браузере: http://ваш сайт/admin/build/modules
Уберите галочку напротив модуля, который вы хотите удалить и сохраните изменения.
Если всё прошло успешно, но вы увидите сообщение вверху страницы, которое это подтверждает.

Перед удалением папки модуля нужно зайти на страницу: http://ваш сайт/admin/build/modules/uninstall
На этой странице вы можете сделать удаление данных, которые модули сохранили в базе данных. Если вы этого не сделаете, то в базе данных останутся таблицы и информация, которая просто не используется.

Внимание: если вы собираетесь обновлять модуль, то данные модуля уничтожать не нужно.

Удаление модуля в базе данных

Для этого нужно выполнить код:

UPDATE `system` SET status=0 WHERE name='имя модуля';

Вместо 'имя модуля' нужно подставить имя модуля, который вы хотите удалить.
Внимание: имя модуля это не имя папки, в которой этот модуль находится. Папка может быть переименована, а имя модуля остаётся постоянным. Чтобы узнать имя модуля, откройте папку модуля и найдите в ней файл с расширением *.info. Имя этого файла (всё, что идёт до ".info") и нужно использовать.

Удаление папки с модулем

Найдите папку нужного модуля и удалите:

  • /корневая папка сайта/sites/all/modules (здесь должны быть дополнительные модули) и
  • /корневая папка сайта/modules (здесь должны быть только системные модули, включённые в Друпал по умолчанию).

Совет:
На UNIX-системах можно добавить точку в начале имени файла или папки, чтобы сделать этот файл или папку невидимым. Таким образом модуль может оставаться на своём месте, но не будет виден системе. Вы же сможете его видеть...

Использованные материалы

Полезные ссылки

Поставил не ту версию перевода к модулю subscriptions. Как исправить?

Установка модуля

Скопировать файлы модуля

Чтобы установить дополнительный модуль нужно папку с этим модулем скопировать в
/корневая папка сайта/sites/all/modules

Системные модули уже находятся на своих местах (/корневая папка сайта/modules) и просто не установлены.

Зависимости

Некоторые модули требуют установки других модулей для своей работы. Пока вы не установите модули, которые требуются - вы не сможете установить нужный модуль.

Если требуемые модули уже есть в системе, то вам будет предложено подтвердить их установку, если они ещё не установлены. Если они уже были установлены, то вам ничего не нужно будет подтверждать.

Узнать какие модули нужны можно:

  • на странице модуля
  • в документации из архива модуля (обычно файл readme.txt или install.txt)
  • запустив установку модуля - вы получите сообщения о необходимых модулях

Установка модуля

Установка через браузер

  1. Зайдите на сайт как администратор.
  2. Перейдите Administer → Site building → Modules page или откройте в браузере: http://ваш сайт/admin/build/modules
  3. Найдите нужный модуль и поставьте галочку напротив этого модуля.
  4. Сохраните изменения.

Если всё прошло успешно, то вы увидите подтверждающее сообщение сверху страницы.

Установка через базу данных

Для этого нужно выполнить код:

UPDATE `system` SET status=1 WHERE name='имя модуля';

Вместо 'имя модуля' нужно подставить имя модуля, который вы хотите установить.

Внимание: имя модуля это не имя папки, в которой этот модуль находится. Папка может быть переименована, а имя модуля остаётся постоянным. Чтобы узнать имя модуля, откройте папку модуля и найдите в ней файл с расширением *.info. Имя этого файла (всё, что идёт до ".info") и нужно использовать.

Установка с помощью drush

drush - это инструмент управления сайтом на Друпал через командную строку через соединение SSH.