Existe-t-il quelque part une bonne description de la structure des répertoires Drupal?

Réponses:

24

Je n'en ai pas vu, alors commençons une liste ici. Dans Drupal 5, 6 et 7, la structure ressemble à ceci:

  • comprend - inclure des fichiers avec des fonctions php et des classes qui composent l'API Drupal
  • misc - actifs divers comme les fichiers et images javascript
  • modules - modules de base Drupal (non destinés aux modules contrib et personnalisés)
  • profils - profils d'installation
  • scripts - scripts shell pour développeurs et administrateurs
  • sites - tous les fichiers ajoutés par un développeur pour créer un site

    • sites / all / bibliothèques - bibliothèques tierces, par exemple. un éditeur wysiwyg
    • sites / all / modules - modules contribués et personnalisés
    • sites / tous / thèmes - thèmes et sous-thèmes personnalisés et personnalisés
    • sites / default - contient les paramètres par défaut.php
    • sites / default / files - le répertoire par défaut pour les fichiers téléchargés par l'utilisateur
    • sites / example.com / modules - le répertoire des modules spécifiques au site dans une structure multisite
    • sites / example.com / themes - le répertoire de thèmes spécifiques au site dans une structure multisite
    • sites / example.com / files - le répertoire spécifique au site pour les fichiers téléchargés par les utilisateurs dans une structure multisite
  • thèmes - Thèmes de base Drupal
marcvangend
la source
7

Ma première réponse était vraie pour Drupal 7 et ci-dessous. Pendant ce temps, un grand changement a été engagé pour Drupal 8 et plus. La plupart des fichiers principaux vivent désormais dans un dossier «principal». Vous pouvez en savoir plus à ce sujet dans cet article de blog ou le numéro d' origine sur drupal.org .

La nouvelle structure ressemble à ceci:

  • core - contient tous les fichiers et dossiers qui composent le noyau Drupal (c'est-à-dire la partie à ne pas pirater )
    • core / includes - inclut des fichiers avec des fonctions php et des classes qui composent l'API Drupal
    • core / misc - actifs divers comme les fichiers et images javascript
    • core / modules - modules de base Drupal (non destinés aux modules contrib et personnalisés)
    • core / scripts - scripts shell pour développeurs et administrateurs
    • core / themes - Thèmes de base Drupal
  • profils - profils d'installation
  • sites - tous les fichiers ajoutés par un développeur pour créer un site

    • sites / all / bibliothèques - bibliothèques tierces, par exemple. un éditeur wysiwyg
    • sites / all / modules - modules contribués et personnalisés
    • sites / tous / thèmes - thèmes et sous-thèmes personnalisés et personnalisés
    • sites / default - contient les paramètres par défaut.php
    • sites / default / files - le répertoire par défaut pour les fichiers téléchargés par l'utilisateur
marcvangend
la source
3
Cette réponse n'est pas complète pour le moment, car Drupal 8 a progressé et contient maintenant des répertoires comme / code / vendor et les modules / et / themes reconditionnés. Si quelqu'un a une bonne vue d'ensemble de l'état actuel de Drupal 8, n'hésitez pas à mettre à jour la réponse.
marcvangend
La goutte bouge toujours !
geerlingguy
2

La réponse acceptée est bonne. C'est juste mes deux cents pour développer d'autres réponses, en tant que développeur de site sur Drupal 7. Il est plus facile de naviguer lors de la mise à niveau de nombreux modules personnalisés, de quelques fonctionnalités et de sous-thèmes parents / personnalisés.

  • sites / tous
    • /modules
      • / contrib
      • /Douane
      • /Caractéristiques
    • / bibliothèques
    • / thèmes
  • sites / example.com
    • Identique aux sites / tous / * avec des besoins spécifiques à l'instance de site, le cas échéant
user20301
la source
Je veux exactement la même chose sur Drupal 7 que vous avez mentionné dans votre réponse mais je me demande comment puis-je installer un nouveau module dans le sites/all/modules/customrépertoire. Aidez-moi à ce sujet.
Bhavik Shah
Je n'ai vraiment pas essayé de placer des modules dans un répertoire personnalisé avec drupal ui (ftp). Je viens de les ftp / ssh directement là ou de les assigner dans un makefile. L'installation et la mise à disposition d'un module sidenote sont différentes car cela implique des modifications du système.
user20301