nach oben

Scripting vs. PluginCall

CMSimple-Scripting wurde ursprünglich in CMSimple eingeführt, um dem Benutzer eine umfassende Kontrolle über das Verhalten von CMSimple für jede einzelne Seite zu ermöglichen. Mit Plugin-Aufrufen (PluginCalls) ist dieses Ziel in CMSimple_XH leichter und übersichtlicher zu erreichen.

CMSimple-Scripting

CMSimple-Scripting ist eigentlich eine veraltete Technik. CMSimple_XH bietet mittlerweile bessere und leichter zu verstehende Möglichkeiten, um Einfluss auf das System zu nehmen. Dennoch funktioniert CMSimple-Scripting in vielen Fällen immer noch und könnte in speziellen Fällen nützlich sein. Im Folgenden werden die Möglichkeiten von CMSimple-Scripting kurz erläutert.

 

CMSimple-Scripting wird standardmäßig nach folgendem Schema notiert:

#CMSimple ... #

Auf jede Seite darf nur ein CMSimple-Script geschrieben werden (mit Ausnahme von #CMSimple hide#). Wenn mehr als ein CMSimple-Script benötigt wird, müssen alle in einem Block notiert werden, zum Beispiel so:

#CMSimple $description='My description'; $keywords='My keywords';#

Es spielt keine Rolle, wo die CMSimple-Scripte auf der Seite platziert sind, aber achte darauf, sie in der HTML-Quellcodeansicht des Editors einzufügen.

 

Es gibt eine Unmenge an Möglichkeiten, was man mit CMSimple-Scripting beeinflussen kann. Dazu zählen u.a.:

  • ob eine Seite veröffentlicht ist
  • ob eine Seite im Menü angezeigt werden soll
  • ob für eine Seite ein anderes Template verwendet werden soll
  • ob eine Seite umgeleitet werden soll
  • ob das Datum der letzten Bearbeitung der Seite angezeigt werden soll
  • Seitentitel, Keyword, Description und Hinweise für Robots

In CMSimple_XH können all diese Dinge viel einfacher gesteuert werden, indem man die entsprechenden Seiteneinstellungen in den PageData-Tabs (siehe Beschreibung hier) vornimmt. CMSimple-Scripting wird für diese Dinge also nicht mehr benötigt.

 

CMSimple-Scripting ist keine eigene Skriptsprache. Benutzer, die bereits mit PHP vertraut sind, sollten keine neue Skriptsprache lernen müssen. Durch den Zugriff auf das vollständige CMSimple-Framework gibt es nur wenige Einschränkungen für das, was mit CMSimple-Scripting getan werden kann. Doch diese Flexibilität hat ihren Preis. Manchmal ist es schwer zu verstehen, was ein komplexes CMSimple-Script tut, und es ist noch schwieriger zu wissen, wie man etwas Bestimmtes mit CMSimple-Scripting macht.

 

Beachte, dass die Ausgabe von Code durch Aufrufen von echo oder print nicht wie erwartet funktioniert. Stattdessen sollten alle Ausgaben in $output geschrieben werden. Diese Variable enthält den Inhalt der Seite, wenn das Skript ausgeführt wird, daher solltest du deine Ausgabe normalerweise an $output anhängen. Beispiel:

#CMSimple $output.= function(parameter);#

Erfahrener PHP-Programmierer, können einen Blick in die Developer Documentation werfen, in der Variablen und Funktionen von CMSimple_XH aufgelistet sind. Einige davon könnten für die fortgeschrittene Verwendung von CMSimple-Scripting nützlich sein.

Alternative: PluginCall

Nachdem wir so viel über CMSimple-Scripting erfahren haben, folgt jetzt die Empfehlung, es nach Möglichkeit zu vermeiden. Es ist schwierig in den Editoren zu lesen und zu schreiben, und aufgrund der Verwendung von $output ist es nicht gerade intuitiv. Verwende stattdessen den sogenannten Plugin-Aufruf:

{{{nameDerFunktion(parameter);}}}

Dadurch wird der Rückgabewert von nameDerFunktion() genau an der Stelle ausgegeben, an der er auf der Seite steht. Es ist in erster Linie dazu gedacht, Plugins aufzurufen – aber du kannst auch jede andere korrekte PHP-Funktion damit aufrufen.

Die Klammern und das Semikolon am Ende sind optional. Man könnte also auch schreiben:

{{{nameDerFunktion parameter}}}

Es ist möglich, die Funktion mit einem Kommentar zu versehen. So kann man sich selbst eine Erinnerung oder Hinweise für andere Anwender hinzufügen. Der Kommentar wird vor die Funktion gesetzt, abgetrennt durch einen Doppelpunkt. Beispiel:

{{{DIESE ZEILE NICHT ÄNDERN:plugin('...');}}}

Benötigst du eine Funktion, die es noch nicht gibt, dann definiere sie einfach in der Datei userfuncs.php. Diese Datei (Beschreibung) wird von CMSimple_XH eingebunden, sodass alle dort definierten Funktionen auf der Seite nutzbar sind. Auf diese Weise wird der Seiten-Inhalt nicht durch komplexes Scripting überladen und kann bei der Seitenbearbeitung nicht versehentlich beschädigt werden.

Beispiel

Wenn das Ergebnis eines beliebigen PHP-Ausdrucks angezeigt werden soll, kann die Funktion trim() von PHP verwendet und der Ausdruck als Parameter übergeben werden, zum Beispiel:

{{{trim(83 * 17 + 42);}}}

PHP

PHP = Hypertext Preprocessor, ursprünglich Personal Home Page Tools

PHP ist eine Skriptsprache, die häufig zur Erstellung dynamischer Websites verwendet wird.

Templates

Templates sind Gestaltungsvorlagen für Websites, die wie Schablonen wirken. Sie bestimmen den Ort, an dem Elemente erscheinen und beeinflussen deren Aussehen.