Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Mit RAD: eine Erweiterung nur mit Einstellungen

Der Assistent für Einstellungs-Extensions schreibt Einstellungen und Event-Listener - seine Themen, die standardmäßig sichere Listener-Klasse und als Alternative das Verschieben vorhandener Einstellungen mit exp:ini…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-3-extension-developer/tutorials/rad-settings-extension.md

On this page

This page is a translation. Read the English original

Mit RAD: eine Erweiterung nur mit Einstellungen

Tutorial 7. Der Assistent für Einstellungs-Extensions (/setup/settingsextension) schreibt Erweiterungen, die überwiegend aus Einstellungen bestehen: Bild-Aliase, Event-Listener, Regeln für den View-Cache, Informationssammlung, Trigger-Operationen, Siteaccess-Einstellungen, zusätzliche Wurzeln für Erweiterungen, Icon-Themen und mehr. Die Ausgabe unten wurde vom Generator des Assistenten (expSettingsExtensionWizard::files()) mit zwei ausgewählten Event-Listenern erzeugt; jede PHP-Datei hat php -l bestanden.

Die Themen

Jedes Thema schreibt eine Einstellungsdatei (der Assistent nennt sie):

ThemaSchreibt nachGedacht für
Bild-Aliaseimage.ini„Eine benannte Größe, mit den Filtern, die sie erzeugen.“
Event-Listenersite.ini„Ein Callback auf etwas, das der Kernel ankündigt.“
Regeln zum Leeren des View-Cachesviewcache.ini„Was sonst noch neu erzeugt werden muss, wenn ein Objekt veröffentlicht wird.“
Informationssammlungcollect.ini„Was passiert, wenn ein Besucher ein aus Inhalten gebautes Formular ausfüllt.“
Trigger-Operationenworkflow.ini„An welche Vorgänge ein Workflow gebunden werden darf.“
Siteaccess-Einstellungensite.ini„Einstellungen, die nur für einen Siteaccess gelten, bei der Extension aufbewahrt.“
Zusätzliche Extension-Wurzelnsite.ini„Ein anderer Ort als extension/, an dem Extensions liegen können.“
Icon-Themaicon.ini„Ein Satz Icons, den eine Extension mitbringt.“

Dazu kommen die Listener-Klasse, API-Beispiele, README, Metadaten, die Composer-Datei, .gitignore und die Lizenz.

Event-Listener

Mit den Events content/state/assign und response/output und der Klasse mysiteSettingsListeners schrieb der Assistent:

.gitignore
LICENSE
README.md
classes/mysitesettingslisteners.php
composer.json
doc/examples.php
extension.xml
ezinfo.php
settings/site.ini.append.php
[Event]
Listeners[]=content/state/assign@mysiteSettingsListeners::contentStateAssign
Listeners[]=response/output@mysiteSettingsListeners::responseOutput

Die Listener-Klasse weiß, welcher Art jedes Event ist, und ist sicher, bis Sie sie ausschreiben:

/**
 * response/output
 *
 * The whole page, about to be sent. Whatever is returned is what the
 * browser gets.
 *
 * A filter event. Whatever this returns is what the rest of the
 * system uses, so returning nothing destroys the value. The first
 * argument is the value; anything after it is context.
 */
public static function responseOutput( $value = null )
{
    // Not written yet. Handing the value back unchanged leaves the
    // system working exactly as it did before this listener existed.
    return $value;
}

Der Benachrichtigungs-Listener (contentStateAssign()) gibt nichts zurück, mit dem Hinweis „What this returns is ignored, and nothing waits for it either - anything slow here is felt by whoever caused it“ (der Rückgabewert wird ignoriert, und es wartet auch nichts darauf; alles Langsame hier spürt der, der es ausgelöst hat). Füllen Sie sie aus wie in Events, Listener und Filter. Beachten Sie, dass content/state/assign mit ( $objectID, $selectedStateIDList ) benachrichtigt wird; geben Sie Ihrer Methode beide Parameter.

Stattdessen vorhandene Einstellungen verschieben

Wenn die Einstellungen bereits in settings/siteaccess/<sa>/ oder settings/override/ existieren, baut der Einstellungsbefehl die Erweiterung daraus und behält dabei jeden wirksamen Wert bei:

./console exp:ini move-all siteaccess:mysite extension:mysite_settings:siteaccess:mysite --create-extension --dry-run

Siehe Einstellungen, die in einer Erweiterung liegen.

Einschalten

./console exp:ini add 'site.ini/ExtensionSettings/ActiveExtensions[]' mysite_settings global
php bin/php/ezpgenerateautoloads.php -e
php bin/php/ezcache.php --clear-tag=ini

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x