Guite edited this page Nov 12, 2014 · 5 revisions

Hooks sind spezielle - die "haken" [engl.: "to hook"] sich in anderen Module ein und verändern ihren Inhalt. Dabei gibt es verschiedene Arten von Hooks.

Installation

Hooks werden genauso wie installiert. Immerhin sind sie ja auch Module...

Benutzung

Um einen Hook in ein anderen Modul einzuhängen, musst Du in die Administrations gehen. Dort findest Du unter System/Module die Liste der installierten Module. Wenn Du zum Beispiel den BBCode-Hook in den News benutzen willst, musst Du bei dem News-Modul auf das Büroklammer-Icon klicken und ein dann ein Häkchen bei BBCode machen. Wenn Du das mit "Okay" bestätigst, bist Du schon fertig: Du kannst jetzt in News-Artikeln BBCode benutzen.

Hook-Typen

Die Unterscheidung ist eigentlich eine technische und interessiert nur die Entwickler. An dieser Stelle soll mit der Aufzählung verdeutlicht werden, was für Funktionen Hooks haben können.

Transform Hooks

Transform Hooks nehmen den Inhalt zum Beispiel eines News-Artikels und verändern ihn. Der Multihook zum Beispiel durchsucht den Text nach bekannten Abkürzungen oder Stichworten, die automatisch verlinkt werden.

Display Hooks

Display Hooks fügen den Inhalten eines Moduls andere Inhalte hinzu. Damit können News-Artikel zum Beispiel um Kommentare erweitert werden. Die Kommentare hängen dann an dem Artikel.

Create Hooks

Create Hooks hängen sich in andere Module beim Erstellen neuer Inhalte. Zum Beispiel kann man so direkt beim Anlegen eines neuen News-Artikels Tags eintragen, die im Tags-Hook gehalten werden. Die so erzeugten Tags werden dann im Artikel wiederum per Display-Hook dargestellt. Ein Modul kann also mehrere Arten von Hook gleichzeitig sein.

Init Hooks

Init Hooks springen bei jedem Seitenaufruf und können so zum Beispiel prüfen, ob der Seitenzugriff eventuell von einem Spam-Bot kommt. In diesem Fall würde der Init-Hook den weiteren Seitenaufbau abbrechen und so den Zugang verwehren.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.