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:
Und das wars auch schon. Beliebigen Code eingeben, php-Tags nicht vergessen:
<?php echo „Hallo Welt!“; ?>
Produziert die erwartete Ausgabe:
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:
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:
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.