Die Methoden der Klasse rex
sind global in Templates, Modulen und AddOns verfügbar und ermöglichen Zugriff auf Grundeinstellungen und Zustände des Systems.
Methoden wie setProperty
und getProperty
können auch verwendet werden, um systemweit eigene Eigenschaften abzulegen.
Die Werte werden in der Tabelle rex_config
gespeichert.
Hinweis: AddOns können ihre Konfiguration über das Package-Objekt in die Konfiguration schreiben:
rex_addon::get($addon)->setConfig($key, $value);
und lesen$value = rex_addon::get($addon)->getConfig($key);
Die Werte werden dynamisch während der Laufzeit verwaltet.
Beispiel:
<button type="submit" <?= rex::getAccesskey("speichern","s") ?>>Speichern</button>
schreibt
<button type="submit" accesskey="s" title="speichern[s]">Speichern</button>
in die Ausgabe.
Für den Access-Key können auch Werte aus config
verwendet werden:
save: s
apply: x
delete: d
add: a
Beispiel:
<button type="submit" <?= rex::getAccesskey("speichern","save") ?>>Speichern</button>
schreibt
<button type="submit" accesskey="s" title="speichern[s]">Speichern</button>
in die Ausgabe.
Beispiel:
rex::getConfig('version')
=> "5.3"
Siehe auch: setConfig
Liest die Eigenschaft von dirperm
aus.
Beispiel:
rex::getDirPerm()
=> 755
Gibt die im System eingestellte Error-E-Mail-Adresse aus.
Beispiel:
rex::getErrorEmail()
=> '[email protected]'
Liest die Eigenschaft von fileperm
aus.
Beispiel:
rex::getFilePerm()
=> 664
Liest die Eigenschaft des Wertes, der zuvor über setProperty
gespeichert wurde.
Beispiel:
rex::getProperty('myvar')
=> Inhalt des zuvor über rex::setProperty('myvar',$var)
gespeicherten Wertes.
Die Werte können von einem beliebigen Typ sein.
Siehe auch: setProperty, hasProperty und removeProperty
Liest den Wert aus, der in den Systemeinstellungen im Feld URL der Website
eingetragen wurde.
Beispiel:
rex::getServer()
=> http://example.com/
Die Methode kann verwendet werden, um absolute URLs zu erstellen.
Liest den Wert aus, der in den Systemeinstellungen im Feld Name der Website
eingetragen wurde.
Beispiel:
rex::getServerName()
=> "Meine supertolle Website"
Die Methode kann verwendet werden, um den Title-Tag zu füllen.
Fügt an einen übergebenen Tabellennamen das in der config
stehende Prefix für die Datenbanktabellen hinzu.
Standard: rex_
Parameter: Tabellenname
Beispiel:
rex::getTable('adressen')
=> rex_adressen
Die Funktion ist bevorzugt einzusetzen anstelle von rex::getTablePrefix.'adressen'
Liefert den Wert für den in der config
eingestellten Table Prefix für Datenbanktabellen.
Standard: rex_
Beispiel: rex::getTablePrefix()
=> rex_
Die Methode rex::getTable()
ist bevorzugt einzusetzen.
Liefert den Wert für den in der config
eingestellten temp_prefix
.
Standard: tmp_
Beispiel:
rex::getTempPrefix()
=> tmp_
Wenn ein Redaxo Benutzer im Backend angemeldet ist, liefert diese Methode den Benutzer als User-Objekt.
Beispiel:
rex::getUser()->getName()
=> Administrator
Hinweis: Selbst wenn ein Nutzer angemeldet ist, wird
rex::getUser()
im Frontend nicht automatisch befüllt, sondern erst, wenn es zum ersten Mal explizit angefordert wurde. Im Frontend sollte die Abfrage daher so durchgeführt werden:
if (rex_backend_login::createUser()) {
$user = rex::getUser()->getName();
}
Liefert die installierte Version von REDAXO.
Beispiel:
rex::getVersion()
=> "5.3.0"
if(rex_string::versionCompare(rex::getVersion(), '5.3.0', '>=')) ...
prüft, ob die REDAXO-Version mindestens 5.3.0 ist.
Prüft, ob ein Config-Wert gesetzt ist.
Beispiel:
rex::hasConfig('version')
=> true
Prüft, ob eine Eigenschaft gesetzt ist.
Beispiel:
rex::hasProperty('myvar')
=> true
Siehe auch: setProperty, getProperty und removeProperty
Prüft, ob gerade das Backend aufgerufen wird. Wird oft in Modulen verwendet, um die Backend-Ausgabe anders zu gestalten als die Frontend-Ausgabe.
Beispiel:
rex::isBackend()
=> true im Backend, false im Frontend
Prüft, ob der DebugMode in den Systemeinstellungen aktiviert ist.
Beispiel:
rex::isDebugMode()
=> true oder false
Prüft, ob der SafeMode des Systems aktiviert ist. Im SafeMode sind AddOns deaktiviert.
Beispiel:
rex::isSafeMode()
=> true oder false
Prüft, ob sich das System im Setup-Modus befindet. Der Wert kann in den Systemeinstellungen auf true
gesetzt werden, was nur sehr, sehr ausnahmsweise notwendig sein sollte ...
Beispiel:
rex::isSetup()
=> normalerweise false
Eine Config-Einstellung löschen.
Beispiel:
rex::removeConfig('ein_konf_wert')
Siehe auch: getConfig, setConfig und hasConfig
Eine Eigenschaft löschen.
Beispiel:
rex::removeProperty('myvar')
Siehe auch: getProperty, hasProperty und setProperty
Eine Config-Einstellung setzen.
Beispiel: rex::setConfig('ein_konf_name','der_konf_value')
Siehe auch: getConfig, removeConfig und hasConfig
Eine Eigenschaft setzen.
Beispiel:
rex::setProperty('myvar','myval')
Siehe auch: getProperty, hasProperty und removeProperty
Siehe auch Konfiguration
Via rex::getProperty('variablenname')
kann man in Blöcken gesetzte Properties im Template auslesen.
Hierzu ist es erforderlich vor Abfrage der Variable den Artikel einzulesen.
z.B. mittles $this->getArticle();
oder REX_ARTICLE[]
.
Im gewünschten Modul wird mit rex::setProperty('variablenname',"wert")
die gewünschte Information hinterlegt.
Danach kann der Inhalt der Variable im Template über rex::getProperty('variablenname')
ausgelesen werden.
Der Artikel sollte je Template nur einmal eingelesen werden. Zur Weiterverarbeitung sollte er in einer Variable zwischengespeichert werden.
$article = $this->getArticle();
if (rex::getProperty('key') != "") {
echo '<title>'.rex_escape(rex::getProperty('key')).'</title>';
}
else {
echo '<title>'. rex_escape($this->getValue('name')).'</title>';
}