Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Benutzerhandbuch › Entwicklung von Modulen und Themes › Leitfaden zur Entwicklung von Modulen › Erstellen von Modulen für Drupal 6.x › Erstellen von Modulen - ein Handbuch: Drupal 6.x ›

02. Das Modul in Drupal bekannt machen

Eingetragen von stBorchert (6003) am 19.01.2009 - 12:01 Uhr in
  • Drupal 6.x

Dies ist eine Übersetzung der Seite 02. Telling Drupal about your module auf drupal.org.

Beschreibung des Themas: Lass Drupal wissen, dass das Modul existiert
beschriebener Drupal hook: hook_help

Alle Module müssen eine Datei namens modulname.info haben, die die Meta-Informationen über das Modul enthält.

Das generelle Format ist:

; $Id$
name = Modulname
description = Eine Beschreibung, was das Modul macht.
core = 6.x

In diesem Beispiel wird die Datei "onthisdate.info" genannt. Ohne diese Datei wird das Modul nicht in der Liste der Module auftauchen. Für unsere Beispiel kann die Datei den folgenden Inhalt enthalten (die Texte werden generell in englischer Sprache verfasst und können später übersetzt werden!):

; $Id$
name = On this date
description = A block module that lists links to content such as blog entries or forum discussions that were created one week ago.
core = 6.x

Füge den obigen Text zu einer Datei namens onthisdate.info hinzu und speicher diese im Modulverzeichnis unter sites/all/modules/onthisdate.

Details der info Datei

name (erforderlich)
Der angezeigte Name Deines Moduls. Er sollte den Drupal-Regeln zur Grossschreibung folgen: nur der erste Buchstabe des ersten Wortes wird gross geschrieben ("Example module", nicht "example module" oder "Example Module")
name = On this date
description (erforderlich)
Eine kurze, vorzugsweise einzeilige Beschreibung, die dem Administrator mitteilt, was das Modul macht. Denke daran, dass sich schlecht mit übermässig langen Beschreibungen arbeiten lässt, sei also präzise. Das Feld ist auf 255 Zeichen beschränkt.
description = A block module that lists links to content such as blog entries or forum discussions that were created one week ago.
In der Beschreibung müssen Sonderzeichen durch ihre HTML-entity Werten ersetzt werden. Verwende beispielsweise descriptiom = This is my "crazy@email.com" email address anstelle von description = This is my "crazy@email.com" email address
Sollte die Beschreibung einfache Anführungszeichen oder Hochkommata enthalten, kannst Du den gesamten Text einfach in doppelte Anführungszeichen setzen. Also description = "Please don't use this unless you know what you are doing."
core (erforderlich)
Seit Drupal 6.x weigert sich der Drupal Kern ein Modul auszuführen, dass nicht explizit für die entsprechende Kern-Version geschrieben wurde. Die .info Datei muss demnach definieren, für welche Kern-Version das Modul (oder Theme) gedacht ist. Dies wird durch das neue Attribut core in .info Dateien erzwungen.

core = 6.x

Hinweis: das Skript zum Packen von Releases auf drupal.org setzt den Wert automatisch anhand der Kern-Kompatibilität, die für das Release angegeben wurde. Nutzer, die die fertigen Pakete von drupal.org herunterladen, haben so also immer den richtigen Wert. Seiten jedoch, die ihre Module direkt aus dem CVS laden, sollten den Wert händisch in die .info Dateien der entsprechenden Module eintragen. Das ist übrigens auch ein guter Weg, um den Nutzern zu zeigen, mit welcher Kern-Version der HEAD im CVS kompatibel ist.

dependencies (optional)
Es gibt eine Menge an weiteren Optionen, die in der .info Datei auftauchen können. Eine davon sind die Modulabhängigkeiten (dependencies). Wenn ein Modul ein anderes Modul benötigt, um aktiviert zu werden, müssen alle erforderlichen Module (der Dateiname ohne ".module") wie folgt aufgelistet werden:

dependencies[] = taxonomy
dependencies[] = comment

Für unser Beispielmodul benötigen wir dies nicht, so dass der Eintrag auch weggelassen werden kann. Wenn Abhängigkeiten zu anderen Modulen bestehen, verhindert Drupal die Aktivierung des eigenen Moduls, solange die anderen Module nicht ebenfalls aktiviert sind.

package (optional)
Wenn ein Modul hier einen Text angibt, wird das Modul auf der Seite admin/build/modules zusammen mit anderen Modulen des gleichen Paketes gruppiert. Sollte kein Paketnamen angegeben werden, so erscheint das Modul unter der Kategorie 'Other'. Dies ist vollkommen in Ordnung; Pakete sind vorzugsweise dann zu verwenden, wenn man mehrere Module in einem Bundle ausgeliefert werden oder zusammen verwendet werden sollen. Wenn Du dabei unsicher bist, lass das Feld einfach leer.

package = "Your arbitrary grouping string"

Empfohlene Beispiele geeigneter Paketnamen:

  • Audio
  • Bot
  • CCK
  • Chat
  • E-Commerce
  • Event
  • Feed parser
  • Organic groups
  • Station
  • Video
  • Views
  • Voting (wenn es von der VotingAPI abhängt)
  • Location

Die Dateien verwenden das ini Format und können auch ; $Id$ enthalten, damit CVS die Informationen zu Datei Id einfügt.

Für mehr Informationen zu dem Format von ini Dateien gibt es die PHP.net parse_ini_file Dokumentation.

hook_help (Hilfe hook)

Für unser Modul können wir auch Hilfe und erweiterte Informationen bereitstellen. Durch die Verwendung der .info Datei (siehe oben) ist dieser Hook nunmehr optional. Jedoch ist es immer eine gute Idee, ihn zu implementieren. Der Name des Hooks ist 'help', so dass wir mit der Funktion onthisdate_help() beginnen:

<?php
function onthisdate_help($path, $arg) {

}
?>

Die Variable $path stellt den Kontext der Hilfe zur Verfügung: wo in Drupal oder im Modul sich ein Nutzer befindet, wenn er auf die Hilfe zugreift. Der empfohlene Weg, diese Variable abzufragen ist über eine switch Anweisung. Dieses Code-Pattern ist üblich in Modulen von Drupal.

<?php
/**
* Display help and module information.
* @param path
*   Which path of the site we're displaying help.
* @param arg
*   Array that holds the current path as would be returned from arg() function.
* @return
*   help text for the path.
*/
function onthisdate_help($path, $arg) {
 
$output = '';
  switch (
$path) {
    case
"admin/help#onthisdate":
     
$output = '<p>'.  t("Displays links to nodes created on this date") .'</p>';
      break;
  }
  return
$output;
}
// function onthisdate_help
?>

Der Fall admin/help/#modulename wird von Drupal verwendet, wenn von der generellen Hilfeseite (/admin/help oder ?q=admin/help) verlinkt wird. Du möchtest hier möglichweise eine etwas ausführliche Beschreibung geben, um dem Nutzer eine bessere Hilfe anzubieten.

Füge den obigen Quelltext zu einer Datei namens onthisdate.module hinzu und speichere diese wieder im Modulverzeichnis.

Siehe auch

  • hook_help
‹ 01. Wir beginnen nach oben 03. Sag Drupal, wer das Modul verwenden darf ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Velinkung in info?

Eingetragen von ash0815@drupal.org (137)
am 11.11.2010 - 21:02 Uhr

Kann oder darf man einen Link zur Seite "Berechtigungen" in der .info setzen?
Da die Anleitung bevor Drupal 7 geschrieben wurde und in der neuen Version zum jeweiligen Modul es einen Link für "Berechtigung" gibt, dachte ich mir, dass ich zumindest in der info einen rein setze, damit der Benutzer über die Modul-Seite diesen direkt erreichen könnte.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Berechtigungen

Eingetragen von stBorchert (6003)
am 15.11.2010 - 07:55 Uhr

Hallo.

ash0815@drupal.org schrieb

Kann oder darf man einen Link zur Seite "Berechtigungen" in der .info setzen?

Nein, dies geschieht vollkommen automatisch.
In der .info wird nur der Verweis auf die Konfigurationsseite des Moduls gesetzt.

 Stefan

PS: Fragen (auch zu Handbuchseiten) bitte im Forum stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Tag 2 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Tag 18 Stunden
  • melde mich mal wieder, da ich
    vor 7 Wochen 5 Tagen
  • Hey danke
    vor 7 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 8 Wochen 11 Stunden
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 2 Tagen
  • In der entsprechenden View
    vor 9 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20463

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 23 Gäste online.

DrupalCenter durchsuchen:

Benutzerhandbuch

  • FAQ - Häufig gestellte Fragen.
  • Links & Downloads
  • Über Drupalcenter.de und das deutschsprachige Benutzerhandbuch
  • Über Drupal
  • Einsteiger
  • Fortgeschrittene
  • Entwicklung von Modulen und Themes
    • Das Drupal Theme System (PHPTemplate)
    • Theme Handbuch (Drupal 6)
    • 5.x Themes in 6.x konvertieren
    • Leitfaden zur Entwicklung von Modulen
      • 5.x
      • Erstellen von Modulen für Drupal 6.x
        • Erstellen von Modulen - ein Handbuch: Drupal 6.x
          • 01. Wir beginnen
          • 02. Das Modul in Drupal bekannt machen
          • 03. Sag Drupal, wer das Modul verwenden darf
          • 04. Festlegen, dass wir Blockinhalte haben
          • 05. Erstellen des Blockinhalts
          • 06. Installieren, Aktivieren und Testen des Moduls
          • 07. Erstellen der Konfigurationsseite des Moduls
          • 08. Seiteninhalte erstellen
          • 09. Drupal über die neue Funktion informieren
          • 10. Einen "mehr" Link hinzufügen und alle Einträge anzeigen
        • Die Verwendung der Theme-Schicht
        • .info Dateien schreiben
        • .install Dateien schreiben
        • Schreiben von actions (Aktionen)
        • Das Menüsystem von Drupal
      • Verwendung von Icons
    • Module zu Drupal CVS hinzufügen
    • Resourcen für den Theming-Ninja
  • Drupalcenters Community
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal-Testumgebung erstellen
  • Drupal 6 Module
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

Das Copyright des deutschsprachigen Drupal-Benutzerhandbuches unterliegt den jeweiligen Autoren. Übersetzungen des englischsprachigen Drupal-Benutzerhandbuches unterliegen der Creative Commons License, Attribution-ShareAlike 2.0.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association