Zur Hauptnavigation springen Zum Inhalt springen Zur Fußnavigation springen

Einbinden in Joomla Events

Manchmal möchten Sie ein Plugin erstellen, das auf Änderungen im Backend von Gantry 5 reagiert. Änderungen am Layout, an den Style-Einstellungen usw. wirken sich auf das Frontend der Website aus, und Sie befinden sich möglicherweise in einer Situation, in der Sie möchten, dass ein anderer Teil der Infrastruktur Ihrer Website diese Änderungen und Reaktionen bemerkt.

Joomla Events

Es gibt folgende Ereignisse in Joomla:

Plugin-Gruppe: gantry5

  • onGantry5ThemeInit($theme)
  • onGantryGlobalConfig(&$global)
  • onGantry5UpdateCss($theme)
  • onGantry5AdminInit($theme)
  • onGantry5SaveConfig($data)

Gantry 5 Ereignisse direkt aufrufen

Zusätzlich ruft Gantry 5 diese Ereignisse direkt auf:

  • onRenderModule
  • onContentBeforeSave
  • onContentAfterSave
  • onContentBeforeDelete
  • onContentAfterDelete
  • onExtensionBeforeSave
  • onExtensionAfterSave
  • onContentCleanCache

Der Rest der Ereignisse wird von Joomla beim Speichern von JTable für Template-Stile, Menüs etc. aufgerufen..

Zusätzliche Informationen

Einige Joomla-Ereignisse fehlen in dieser Liste, obwohl Sie immer noch an Gantry's eigenem Event Listener (symfony/event-dispatcher) hängen können, auf den Gantry DI zugreifen kann:

$gantry = \Gantry\Framework\Gantry::instance();
/** @var EventDispatcher $events */
$events = $gantry['events'];

$listener = new EventListener; // Your listener class.
$events->addSubscriber($listener);

Zu den Events gehören:

  • theme.init
  • admin.init.theme
  • admin.global.save
  • admin.menus.save
  • admin.styles.save
  • admin.layout.save
  • admin.assignments.save
  • admin.page.save
  • admin.settings.save