TYPO3 Registry

Manche Informationen möchte man am liebsten überall im Backend oder Frontend von TYPO3 zur Verfügung haben. Zum einen kann man hier auf Typoscript zurückgreifen, was aber, wenn die Information relativ dynamisch ist, oder von einem Redakteur manuell geändert werden muss, unnötig kompliziert werden kann.
Ein Beispiel aus unserem Projektalltag sind Extensions, die Funktionalität für eine Aktion bereitstellen, wie zum Beispiel Umfragen auf der Startseite, oder ein Tippspiel. Hier war der Wunsch des Kunden, dass es mehrere Umfragen, oder Spiele geben soll, aber immer nur eins aktiv. Welches aktiv ist, sollte manuell selbst eingestellt werden können.
So gehts:
Die Daten werden dann in der sys_registry Tabelle der Datenbank gespeichert und bleiben da solange, bis man sie wieder entfernt.
Der verwendete Namespace ext_tippspiel ist sollte eindeutig sein. Die Registry API stellt Methoden bereit, um einen Namespace auf Korrektheit (core ist beispielsweise reserviert) zu prüfen, oder alle Werte eines Namespaces zu holen.
Hier gibt es alle Infos und Details in der TYPO3 API Dokumentation zur Registry.

Zugriff auf die TYPO3 Registry

/**
 * Registry initialisieren
 * @var TYPO3\CMS\Core\Registry $registry
 */
$registry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Registry');

/**
 * Speichern der ID des aktiven Spiels
 */
$activeGame = array("id" => $id_aktive_game);
$registry->set('ext_tippspiel', 'activeGame', $activeGame);

/**
 * Laden der ID des aktiven Spiels
 */
$this->activeGame = $registry->get('ext_tippspiel', 'activeGame');

Kategorien

Devblog

Tags

TYPO3 PHP

Hat Dir der Artikel gefallen?