Existe algum bom artigo sobre a estrutura de diretórios do Drupal?

Respostas:

24

Eu não vi um, então vamos começar uma lista aqui. Nos Drupal 5, 6 e 7, a estrutura fica assim:

  • inclui - inclui arquivos com funções e classes php que compõem a API Drupal
  • misc - ativos diversos, como arquivos e imagens javascript
  • modules - módulos principais do Drupal (não destinados aos módulos contrib e personalizados)
  • profiles - perfis de instalação
  • scripts - scripts de shell para desenvolvedores e administradores
  • sites - todos os arquivos adicionados por um desenvolvedor para criar um site

    • sites / all / libraries - bibliotecas de terceiros, por exemplo. um editor wysiwyg
    • sites / all / modules - módulos contribuídos e personalizados
    • sites / todos / temas - (sub) temas contribuídos e personalizados
    • sites / default - contém as configurações padrão.php
    • sites / default / files - o diretório padrão para arquivos enviados por usuários
    • sites / example.com / modules - o diretório de módulos específicos do site em uma estrutura multissite
    • sites / example.com / themes - o diretório de temas específicos do site em uma estrutura multissite
    • sites / example.com / files - o diretório específico do site para arquivos enviados por usuários em uma estrutura multissite
  • temas - temas centrais do Drupal
Marcvangend
fonte
7

Minha primeira resposta foi verdadeira para o Drupal 7 e abaixo. Enquanto isso, grandes mudanças foram comprometidas para o Drupal 8 e superior. A maioria dos arquivos principais agora vive em uma pasta 'principal'. Você pode ler mais sobre isso nesta postagem do blog ou na edição original em drupal.org .

A nova estrutura fica assim:

  • core - contém todos os arquivos e pastas que compõem o núcleo do Drupal (ou seja, a parte que você não deve invadir )
    • core / includes - inclui arquivos com funções e classes php que compõem a API Drupal
    • core / misc - ativos diversos, como arquivos e imagens javascript
    • core / modules - módulos principais do Drupal (não destinados aos módulos contrib e personalizados)
    • core / scripts - scripts de shell para desenvolvedores e administradores
    • temas centrais - temas centrais do Drupal
  • profiles - perfis de instalação
  • sites - todos os arquivos adicionados por um desenvolvedor para criar um site

    • sites / all / libraries - bibliotecas de terceiros, por exemplo. um editor wysiwyg
    • sites / all / modules - módulos contribuídos e personalizados
    • sites / todos / temas - (sub) temas contribuídos e personalizados
    • sites / default - contém as configurações padrão.php
    • sites / default / files - o diretório padrão para arquivos enviados por usuários
Marcvangend
fonte
3
Esta resposta não está completa no momento, porque o Drupal 8 progrediu e agora contém diretórios como / code / vendor e os re-purposeed / modules e / themes. Se alguém tiver uma boa visão geral do estado atual do Drupal 8, fique à vontade para atualizar a resposta.
marcvangend
2

A resposta aceita é boa. Esses são apenas meus dois centavos para expandir outras respostas, como desenvolvedor de sites no Drupal 7. É mais fácil navegar ao atualizar muitos módulos personalizados, poucos recursos e subtemas pai / personalizado.

  • sites / todos
    • / modules
      • / contrib
      • /personalizadas
      • /características
    • / bibliotecas
    • /temas
  • sites / example.com
    • igual a sites / all / * com necessidades específicas da instância do site, quando apropriado
user20301
fonte
Eu quero exatamente a mesma coisa no Drupal 7 que você mencionou na sua resposta, mas eu estou querendo saber como posso instalar o novo módulo no sites/all/modules/customdiretório. Por favor ajude nisto.
precisa saber é o seguinte
Eu realmente não tentei colocar módulos no diretório personalizado com drupal ui (ftp). Eu apenas ftp / ssh eles diretamente ou atribuí-lo em makefile. Como uma instalação do sidenote e a disponibilização do módulo são diferentes, uma vez que o último implica em modificações no sistema.
user20301