Wie man Drupal eigenen PHP-Code unterschiebt

Das ist sehr einfach und nahezu überall möglich, man muss nur unter Module den PHP Filter aktivieren. Dann bekommt man bei den Editoroptionen unter Textformate die Option PHP-Code:

textformat_php_code
textformat_php_code

Und das wars auch schon. Beliebigen Code eingeben, php-Tags nicht vergessen:

<?php echo „Hallo Welt!“; ?>

Produziert die erwartete Ausgabe:

php_hallo_welt
php_hallo_welt

Weder besonders aufregend noch besonders handlich, das ist nicht besser und nicht schlechter als der Sourcerer in Joomla. Für wenige Codezeilen tuts das, für längere Scripte ist es völlig untauglich. Aber ich bin durch fleissiges Googlen auch auf einen eleganteren und doch simplen Weg gekommen, eigene PHP-Funktionen in Drupal einzubinden. Dazu basteln wir uns:

Das erste eigene Modul

Ich habe mich an diese Anleitung hier von BobbyMods gehalten, die Sache aber noch ein bisschen weiter vereinfacht. Um ein eigenes Modul zu erstellen, braucht es nicht viel. Man erzeugt ein neues Unterverzeichnis unter sites->all->modules und benennt es z.B. mit „myfunctionlib“. Da hinein kommen zwei Dateien, eine namens myfunctionlib.info, die enthält folgenden Code:

name = My Function Library
description = This module contains my PHP helper functions.
core = 7.x
package = "MyFunctions"
version = "7.1-1.1"

Dann brauchen wir noch die Datei myfunctionlib.module, die sieht ganz stark vereinfacht so aus:

<?php
/**
* Function Description
* @param function_parameter
* @returns function output description
*/

function sayhello($name){
    echo "Hallo liebe ".$name;
}

Wir haben nur eine Function namens sayhello(), die hat einen Parameter, den Namen. Jetzt mussen wir nur noch unser:

Modul aktivieren

es taucht nämlich unter Module bereits auf:

modul_myfunctions
modul_myfunctions

Wenn das passiert ist, hat man Zugriff auf die eigenen Funktionen, ich kann dann auf einer Seite beispielsweise meine sayhello-Funktion aufrufen (Textformat auf PHP Code stellen nicht vergessen):

<?php sayhello(„Evi Silvia“); ?>

Und der Output ist wie erwartet:

sayhello
sayhello

Das eröffnet natürlich jede Menge Möglichkeiten, ganz ähnlich wie die geniale PHP-Bridge für Joomla. Jetzt können wir, ich schau mal wie weit ich mit meinem schöner formatierten Inhaltsverzeichnis komme, aber dazu gibt es einen neuen Beitrag.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert