Есть ли где-нибудь хорошая рецензия на структуру каталогов Drupal?

Ответы:

24

Я не видел ни одного, поэтому давайте начнем список прямо здесь. В Drupal 5, 6 и 7 структура выглядит так:

  • включает в себя - включает файлы с функциями и классами php, которые составляют API Drupal
  • Разное - разные активы, такие как файлы JavaScript и изображения
  • modules - основные модули Drupal (не предназначены для contrib и пользовательских модулей)
  • профили - монтажные профили
  • scripts - сценарии оболочки для разработчиков и администраторов
  • сайты - все файлы, добавленные разработчиком для создания сайта

    • сайты / все / библиотеки - сторонние библиотеки, например. редактор wysiwyg
    • sites / all / modules - добавленные и пользовательские модули
    • sites / all / themes - добавленные и пользовательские (под) темы
    • sites / default - содержит настройки по умолчанию
    • sites / default / files - каталог по умолчанию для пользовательских файлов
    • sites / example.com / modules - каталог модулей для сайта в многосайтовой структуре
    • sites / example.com / themes - каталог тем для сайта в многосайтовой структуре
    • sites / example.com / files - специфичный для сайта каталог для загружаемых пользователем файлов в многосайтовой структуре
  • темы - основные темы Drupal
marcvangend
источник
7

Мой первый ответ был верным для Drupal 7 и ниже. Между тем большие изменения были внесены для Drupal 8 и выше. Большинство основных файлов теперь находятся в «основной» папке. Вы можете прочитать больше об этом в этом блоге или в оригинальном выпуске на drupal.org .

Новая структура выглядит так:

  • core - содержит все файлы и папки, составляющие ядро ​​Drupal (то есть часть, которую вы не должны взламывать )
    • core / includes - включить файлы с функциями и классами php, которые составляют API Drupal
    • core / misc - различные ресурсы, такие как файлы JavaScript и изображения
    • core / modules - основные модули Drupal (не предназначены для contrib и пользовательских модулей)
    • core / scripts - сценарии оболочки для разработчиков и администраторов
    • core / themes - основные темы Drupal
  • профили - монтажные профили
  • сайты - все файлы, добавленные разработчиком для создания сайта

    • сайты / все / библиотеки - сторонние библиотеки, например. редактор wysiwyg
    • sites / all / modules - добавленные и пользовательские модули
    • sites / all / themes - добавленные и пользовательские (под) темы
    • sites / default - содержит настройки по умолчанию
    • sites / default / files - каталог по умолчанию для пользовательских файлов
marcvangend
источник
3
Этот ответ не является полным на данный момент, потому что Drupal 8 прогрессировал и теперь содержит каталоги, такие как / code / vendor и переопределенные / modules и / themes. Если у кого-то есть хороший обзор текущего состояния Drupal 8, пожалуйста, не стесняйтесь обновлять ответ.
Marcvangend
2

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

  • сайты / все
    • / модули
      • / вно
      • / заказ
      • /функции
    • / библиотеки
    • / темы
  • сайты / example.com
    • то же самое, что sites / all / * со специфическими потребностями экземпляра сайта
user20301
источник
Я хочу, чтобы в Drupal 7 было то же самое, что вы упомянули в своем ответе, но мне интересно, как я могу установить новый модуль в sites/all/modules/customкаталог. Пожалуйста, помогите в этом.
Бхавик Шах
Я действительно не пробовал помещать модули в пользовательский каталог с помощью drupal ui (ftp). Я просто ftp / ssh их там напрямую или назначаю в makefile. Поскольку установка и создание модуля sidenote доступны, это совсем другое, поскольку последнее подразумевает модификации системы.
user20301