Quelle est la structure squelette d'un module Drupal 7?

14

Quels sont les fichiers nécessaires à la construction d'un module Drupal 7? Quelles sont les exigences pour construire un fichier .info de base? L'essence de cette question est de fournir un squelette pour construire un module Drupal 7 de base à partir de zéro.

Lester Peabody
la source
Si vous votez contre la question, veuillez en indiquer la raison afin qu'elle puisse être résolue.
Lester Peabody,

Réponses:

13

Fichiers minimum requis:

Normalement, les fichiers minimum requis pour un module sont les suivants:

sites / tous / modules / {nom de votre module}

  • {your module}.info
  • {your module}.module

Ou utilisez le module d'exemples:

Le module d'exemples sur drupal.org vous fournit des modules squelettes pour développer des modules personnalisés / contrib. Utilisez-le simplement pour copier et créer vos modules.

Consultez la page du projet :

Ce projet vise à fournir des exemples d'API de haute qualité et bien documentés pour une large gamme de fonctionnalités de base Drupal.

(Intéressé par d'autres exemples non essentiels?)

Les développeurs peuvent apprendre à utiliser rapidement une API particulière en expérimentant les exemples et en les adaptant à leur propre usage.

Lien vers le référentiel git: http://drupalcode.org/project/examples.git/tree/refs/heads/7.x-1.x

Code du module d'exemples:

Je viens également de coller le code que vous pouvez obtenir à partir du module d'exemples.

fichier example.info :

name = Examples For Developers
description = A variety of example code for you to learn from and hack upon.
package = Example modules
core = 7.x

fichier exemple.module :

<?php

/**
 * @file
 * This file serves as a stub file for the many Examples modules in the
 * @link http://drupal.org/project/examples Examples for Developers Project @endlink
 * which you can download and experiment with.
 *
 * One might say that examples.module is an example of documentation. However,
 * note that the example submodules define many doxygen groups, which may or
 * may not be a good strategy for other modules.
 */

/**
 * @defgroup examples Examples
 * @{
 * Well-documented API examples for a broad range of Drupal 7 core functionality.
 *
 * Developers can learn how to use a particular API quickly by experimenting
 * with the examples, and adapt them for their own use.
 *
 * Download the Examples for Developers Project (and participate with
 * submissions, bug reports, patches, and documentation) at
 * http://drupal.org/project/examples
 */

/**
 * Implements hook_help().
 */
function examples_help($path, $arg) {
  // re: http://drupal.org/node/767204
  // 5. We need a master group (Examples) that will be in a main
  // examples.module.
  // The examples.module should be mostly doxy comments that point to the other
  // examples.  It will also have a hook_help() explaining its purpose and how
  // to access the other examples.
}

/**
 * @} End of 'defgroup examples'.
 */
chrisjlee
la source
8

1) Décidez d'un nom pour le module (par exemple: mymodule).

2) Créez un dossier dans sites / all / modules avec le nom de votre module.

3) Dans le dossier, créez un fichier mymodule.module avec une balise php d'ouverture ( <?php) - la balise de fermeture ( ?>) doit être omise.

4) Créez un fichier mymodule.info (dans le dossier de votre module) avec les 3 lignes suivantes:

 name = Mymodule
 description = Description for the module
 core = 7.x

Avec tout cela, vous avez déjà un module Drupal 7 que vous pouvez activer via l'interface graphique (il ne fait rien tant que vous n'avez ajouté aucune fonction / code dans le fichier mymodule.module). Notez que toutes les instances de mymodule utilisées ici doivent être remplacées par le nom de votre module réel et que «Description du module» doit être une description appropriée.

Madis
la source