Quel est le module valide le plus basique que l'on puisse créer dans Drupal?
Il serait utile de disposer d'un plan simple, pour toute personne débutant avec Drupal.
Les instructions ci-dessous permettent de créer un module vide et sont utiles à tous ceux qui débutent avec la construction de modules. Si vous rencontrez des problèmes pour faire fonctionner votre premier module, ou même pour apparaître dans Drupal, assurez-vous d'avoir lu toutes les instructions ci-dessous.
Un project
must have au moins
module-machine-name.info.yml
avec les attributs suivants:
name:
Un nom lisible par l'hommetype:
Un type, définissant comme un module
.core:
La version principale de Drupal avec laquelle le module est compatible 8.x
, dans ce cas.module-machine-name.module
Drupal recherche des modules dans ces emplacements, comme vu depuis la racine Web:
/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
Techniquement, Drupal recherche également des modules core/modules
, mais il ne faut jamais y placer de modules, donc il ne figure pas dans la liste ci-dessus.
Un exemple de structure de module, pour un module avec le nom de la machine helloworld
, ressemblerait à ceci:
/modules/helloworld/helloworld.info.yml
/modules/helloworld/helloworld.module
Notez que les informations et le fichier de module sont nommés exactement de la même manière que le nom de la machine, ce qui est important.
Le fichier module peut être vide, mais le fichier info doit contenir quelques valeurs minimales pour que Drupal le reconnaisse comme module. Pour notre module helloworld, cela pourrait ressembler à:
name: 'Hello world module to demonstrate module building'
core: 8.x
type: module
Si vous suivez les instructions ci-dessus, vous devriez pouvoir obtenir un nouveau module répertorié dans votre site Drupal, bien qu'il ne fasse rien, à ce stade.
Un module doit au moins avoir
Pour être chargeable par Drupal, il doit également définir avec quelle version de base il est compatible.
En outre, Drupal recherche des modules dans ces emplacements:
sites/all/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
Techniquement, Drupal recherche également des modules modules
, mais il ne faut jamais y placer de modules, donc ce n'est pas sur la liste.
Un exemple de structure de module, pour un module avec le nom de la machine helloworld
, ressemblerait à ceci:
sites/all/modules/helloworld/helloworld.info
sites/all/modules/helloworld/helloworld.module
Notez que les informations et le fichier de module sont nommés exactement de la même manière que le nom de la machine, ce qui est important.
Le fichier de module peut être vide, mais le fichier d'informations doit contenir le nom lisible du module et la version principale avec laquelle le module est compatible.
Pour notre module helloworld, cela pourrait ressembler à:
name = Hello world module to demonstrate module building
core = 7.x
Si vous suivez les instructions ci-dessus, vous devriez pouvoir obtenir un nouveau module répertorié dans votre site Drupal, bien qu'il ne fasse rien, à ce stade.
sites/default/...
juste dire ...drupal generate:module
?Pour Drupal 8, puisque la question mentionnait un plan directeur, je pense que je mentionnerais le projet Drupal Console .
Une fois celui-ci installé, on peut générer du code de module (et d'autres choses comme des échafaudages pour des entités personnalisées, des plugins, etc.).
Pour générer un module de base de la ligne de commande:
drupal generate:module
. On est ensuite invité à travers une collecte d'informations de base et laissé avec les fichiers du module à la fin:la source