папка пользовательского модуля


В Разработка Pro Drupal 7: Третье издание авторы предлагают переместить пользовательские модули во вложенные папки /сайты/все/модули/пользовательские/, т.Е.

  • /сайты/все/модули/пользовательские/mymodule1
  • /сайты/все/модули/пользовательские/mymodule2
  • /сайты/все/модули/пользовательские/mymodule3

Имеет ли это какое-то особое значение для ядра Drupal? Например, опущена ли эта папка при проверке наличия новых версий модулей? Я еще не проверял это, так что пока что мне просто любопытно.

Прежде чем я прочитаю книгу, я разместил свои пользовательские модули следующим образом:

  • /сайты/все/модули/mymodule1
  • /сайты/все/модули/mymodule2
  • /сайты/все/модули/mymodule3
 4
7
Author: David Watson, 2012-03-14

3 answers

Это ничего не должно нарушать, и это не имеет особого значения для ядра: пока оно находится в каталоге модулей, его будут искать рекурсивно (именно поэтому в более крупных проектах часто есть подмодули в подкаталоге).

Однако это позволяет разработчикам сайтов организовывать свои модули более аккуратно, чем просто собирать все вместе. Вы часто будете видеть каталоги modules/, структурированные примерно так:

  • /путь/к/модулям/контриб: Модули, загруженные с содержание
  • /путь/к/модулям/пользовательским: Пользовательские модули, которые вы пишете для этого сайта
  • /путь/к/модулям/разработка: Модули не предназначены для включения в реальном времени
  • /путь/к/модулям/функциям: Модули, созданные Функциями

Эта организационная настройка часто используется также при создании профилей установки и дистрибутивов, поэтому, если вы загрузите несколько из них, вы, вероятно, увидите больше примеров применения такого рода организации на практике.

 10
Author: David Watson, 2012-03-14 15:40:20

В отношении ошибок после перемещения модулей по папкам: Конфигурация > Разработка > Производительность > Очистка всех Кэшей

Если ошибки сохраняются: http://example.com/update.php затем выполните следующие действия.

Попробуйте модуль меню Администрирования.

  1. Загрузить Меню администрирования.
  2. из администратора/модулей включите Меню администрирования вместе с Панель инструментов меню администрирования Стиль (в то же время отключите основной Панель инструментов модуль).
  3. Перемещайте свои модули и/или папки модулей по своему усмотрению
  4. Теперь в раскрывающемся списке "Главная страница" (вверху слева) Очистите все кэши > Реестр классов (или тем)

Найдите "Реестр Drupal" или посмотрите описание API Drupal.

С другой стороны, PHP является: <?php function registry_rebuild() { system_rebuild_module_data(); registry_update(); } ?>

 1
Author: Cymatical, 2014-01-17 16:36:32

Помните об этом, когда вы всегда можете использовать drupal_get_path() в своем пользовательском коде, если вам нужно использовать путь к вашему модулю. Он будет продолжать работать, если у вас есть несколько подкаталогов внутри сайтов/все/модули.

drupal_get_path('module', 'my_module_name');

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

sites/all/modules/custom
sites/all/modules/contrib
sites/all/modules/features

Если вы создаете свой сайт с помощью профилировщика, вы также можете указать, в какую папку помещается код модуля. Например, чтобы добавить файловый объект в вашу установку профиль в папке contrib:

projects[file_entity][version] = "2.0-alpha3"
projects[file_entity][subdir] = "contrib"
 1
Author: sheldonkreger, 2014-01-17 20:28:03