папка пользовательского модуля
В Разработка Pro Drupal 7: Третье издание авторы предлагают переместить пользовательские модули во вложенные папки /сайты/все/модули/пользовательские/, т.Е.
- /сайты/все/модули/пользовательские/mymodule1
- /сайты/все/модули/пользовательские/mymodule2
- /сайты/все/модули/пользовательские/mymodule3
Имеет ли это какое-то особое значение для ядра Drupal? Например, опущена ли эта папка при проверке наличия новых версий модулей? Я еще не проверял это, так что пока что мне просто любопытно.
Прежде чем я прочитаю книгу, я разместил свои пользовательские модули следующим образом:
- /сайты/все/модули/mymodule1
- /сайты/все/модули/mymodule2
- /сайты/все/модули/mymodule3
3 answers
Это ничего не должно нарушать, и это не имеет особого значения для ядра: пока оно находится в каталоге модулей, его будут искать рекурсивно (именно поэтому в более крупных проектах часто есть подмодули в подкаталоге).
Однако это позволяет разработчикам сайтов организовывать свои модули более аккуратно, чем просто собирать все вместе. Вы часто будете видеть каталоги modules/
, структурированные примерно так:
- /путь/к/модулям/контриб: Модули, загруженные с содержание
- /путь/к/модулям/пользовательским: Пользовательские модули, которые вы пишете для этого сайта
- /путь/к/модулям/разработка: Модули не предназначены для включения в реальном времени
- /путь/к/модулям/функциям: Модули, созданные Функциями
Эта организационная настройка часто используется также при создании профилей установки и дистрибутивов, поэтому, если вы загрузите несколько из них, вы, вероятно, увидите больше примеров применения такого рода организации на практике.
В отношении ошибок после перемещения модулей по папкам: Конфигурация > Разработка > Производительность > Очистка всех Кэшей
Если ошибки сохраняются:
http://example.com/update.php
затем выполните следующие действия.
Попробуйте модуль меню Администрирования.
- Загрузить Меню администрирования.
- из администратора/модулей включите Меню администрирования вместе с Панель инструментов меню администрирования Стиль (в то же время отключите основной Панель инструментов модуль).
- Перемещайте свои модули и/или папки модулей по своему усмотрению
- Теперь в раскрывающемся списке "Главная страница" (вверху слева) Очистите все кэши > Реестр классов (или тем)
Найдите "Реестр Drupal" или посмотрите описание API Drupal.
С другой стороны, PHP является:
<?php
function registry_rebuild() {
system_rebuild_module_data();
registry_update();
}
?>
Помните об этом, когда вы всегда можете использовать 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"