Qual é a estrutura do esqueleto de um módulo Drupal 7?

14

Quais são os arquivos necessários para a construção de um módulo Drupal 7? Quais são os requisitos para construir um arquivo .info básico? A essência desta questão é fornecer um esqueleto para a construção de um módulo Drupal 7 básico do zero.

Lester Peabody
fonte
Se você recusar a votação, poste um motivo para que ele possa ser resolvido.
Lester Peabody #

Respostas:

13

Arquivos mínimos necessários:

Normalmente, os arquivos mínimos necessários para um módulo são os seguintes:

sites / all / modules / {nome do seu módulo}

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

Ou use o módulo de exemplos:

O módulo de exemplos no drupal.org fornece módulos básicos para desenvolver módulos custom / contrib. Basta usar isso para copiar e criar seus módulos.

Confira a página do projeto :

Este projeto visa fornecer exemplos de API de alta qualidade e bem documentados para uma ampla gama de funcionalidades principais do Drupal.

(Interessado em outros exemplos não essenciais?)

Os desenvolvedores podem aprender a usar uma API específica rapidamente experimentando os exemplos e adaptá-los para seu próprio uso.

Link para o repositório git: http://drupalcode.org/project/examples.git/tree/refs/heads/7.x-1.x

Código do módulo de exemplos:

Também colei o código que você pode obter no módulo de exemplos.

arquivo 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

arquivo 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
fonte
8

1) Decida um nome para o módulo (por exemplo: mymodule).

2) Crie uma pasta dentro de sites / all / modules com o nome do seu módulo.

3) Dentro da pasta, crie um arquivo mymodule.module com uma tag php de abertura ( <?php) - a tag de fechamento ( ?>) deve ser omitida.

4) Crie um arquivo mymodule.info (dentro da pasta do seu módulo) com as três linhas a seguir:

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

Com isso, você já possui um módulo Drupal 7 que pode ser ativado através da GUI (ele não faz nada desde que você não tenha adicionado nenhuma função / código ao arquivo mymodule.module). Observe que todas as instâncias do mymodule usadas aqui devem ser substituídas pelo nome real do módulo e 'Descrição do módulo' deve ser uma descrição adequada.

Madis
fonte