Hooks: Unterschied zwischen den Versionen

Aus sourceDESK Wiki
Wechseln zu: Navigation, Suche
(Liste der Hooks)
(Liste der Hooks)
 
Zeile 60: Zeile 60:
 
* [[Hook:ProductDownload]]
 
* [[Hook:ProductDownload]]
 
* [[Hook:ProductVersion]]
 
* [[Hook:ProductVersion]]
 +
* [[Hook:ProvCreate]]
 
* [[Hook:SkipCSRF]]
 
* [[Hook:SkipCSRF]]
 
* [[Hook:SupportMessageImport]]
 
* [[Hook:SupportMessageImport]]
Zeile 66: Zeile 67:
 
* [[Hook:TicketCreated]]
 
* [[Hook:TicketCreated]]
 
* [[Hook:TicketView]]
 
* [[Hook:TicketView]]
 +
* [[Hook:TicketViewAbove]]
 
* [[Hook:UserLogEntry]]
 
* [[Hook:UserLogEntry]]

Aktuelle Version vom 3. Januar 2020, 15:08 Uhr

Hooks erlauben es Ihnen, Ihren eigenen Code auszuführen wenn bestimmte Seiten in sourceDESK aufgerufen werden oder Aktionen stattfinden.

Hooks erstellen

Hooks können nur innerhalb von Addons erstellt werden. Hierzu bekommt das Addon eine Methode hooks(), die ein Array der auszuführenden Addons zurückgibt:

public function hooks() {
	return [
		["HookPoint1", "hook1", 10],
		["HookPoint2", "hook2", 10],
	];
}

Hierbei bezeichnet HookPoint1 den gewünschten Hook (siehe untenstehende Liste), hook1 die aufzurufende Methode des Addons und 10 die Priorität.

Der Hookname ist nicht case-sensitiv, die Groß-/Kleinschreibung kann also vernachlässigt werden. Die aufzurufende Methode muss public sein und genau ein Argument akzeptieren:

public function hook1($par) {
	// Ihr Hook-Code
}

Die nicht-negative Priorität legt fest, in welcher Reihenfolge mehrere Methoden für einen Hook ausgeführt werden (systemweit über alle Addons). Eine niedrige Priorität wird früher ausgeführt. Wenn zwei Methoden für einen Hook mit der gleichen Priorität definiert werden, wird die zuerst definierte Methode zuerst ausgeführt (Addons werden alphabetisch geladen).

Bestimmte Hooks übergeben Daten als Array als erstes Argument, andere erwarten eine Rückgabe. Detaillierte Informationen zu Eingaben und erwarteten Rückgabewerten finden Sie bei den einzelnen Hooks.

Liste der Hooks