¿Cuál es la estructura esquelética para un módulo Drupal 7?

14

¿Cuáles son los archivos necesarios para construir un módulo Drupal 7? ¿Cuáles son los requisitos para construir un archivo .info básico? La esencia de esta pregunta es proporcionar un esqueleto para construir un módulo Drupal 7 básico desde cero.

Lester Peabody
fuente
Si rechaza la pregunta, publique un motivo para que pueda abordarse.
Lester Peabody

Respuestas:

13

Archivos mínimos necesarios:

Normalmente, los archivos mínimos necesarios para un módulo son los siguientes:

sites / all / modules / {nombre de su módulo}

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

O use el módulo de ejemplos:

El módulo de ejemplos en drupal.org le proporciona módulos de esqueleto para desarrollar módulos personalizados / contrib. Solo use eso para copiar y crear sus módulos a partir de.

Echa un vistazo a la página del proyecto :

Este proyecto tiene como objetivo proporcionar ejemplos de API bien documentados y de alta calidad para una amplia gama de funcionalidades principales de Drupal.

(¿Interesado en otros ejemplos no básicos?)

Los desarrolladores pueden aprender cómo usar una API particular rápidamente al experimentar con los ejemplos y adaptarlos para su propio uso.

Enlace al repositorio de git: http://drupalcode.org/project/examples.git/tree/refs/heads/7.x-1.x

Código del módulo de ejemplos:

También acabo de pegar el código que puede obtener del módulo de ejemplos.

archivo 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

archivo example.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
fuente
8

1) Decida un nombre para el módulo (por ejemplo: mymodule).

2) Cree una carpeta dentro de los sitios / todos / módulos con el nombre de su módulo.

3) Dentro de la carpeta, cree un archivo mymodule.module con una etiqueta php de apertura ( <?php); la etiqueta de cierre ( ?>) debe omitirse.

4) Cree un archivo mymodule.info (dentro de la carpeta de su módulo) con las siguientes 3 líneas:

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

Con esto, ya tiene un módulo Drupal 7 que puede habilitar a través de la GUI (no hace nada mientras no haya agregado ninguna función / código dentro del archivo mymodule.module). Tenga en cuenta que todas las instancias de mymodule utilizadas aquí deben reemplazarse con el nombre de su módulo real y 'Descripción del módulo' debe ser una descripción adecuada.

Madis
fuente