|
|
|
### Individuelle URL-Pfade
|
|
|
|
Mit Hilfe der Rewrite-Klasse (`QUI::getRewrite()`) ist es möglich, frei konfigurierbare URLs festzulegen, die automatisch auf bestimmte Seiten weitergeleitet werden.
|
|
|
|
|
|
|
|
Idealerweise geschieht dies in den Events `onSiteSaveBefore` oder `onSiteSave`, so dass eine Änderung der URL einer Seite für individuelle Pfade ggf. berücksichtigt werden kann.
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
|
|
|
```php
|
|
|
|
<?php
|
|
|
|
// Pfad nur für aktive Seiten registrieren!
|
|
|
|
if ($Site->getAttribute('active')) {
|
|
|
|
// URL der Seite bekommen
|
|
|
|
$url = $Site->getLocation();
|
|
|
|
|
|
|
|
// Ein mögliches ".html" am Ende der Seiten-URL entfernen
|
|
|
|
$url = StringHelper::strReplaceFromEnd(QUI\Rewrite::URL_DEFAULT_SUFFIX, '', $url);
|
|
|
|
|
|
|
|
// Den Pfad "/*" registrieren und auf die Seite weiterleiten
|
|
|
|
QUI::getRewrite()->registerPath($url . '/*', $Site);
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Syntax
|
|
|
|
Die Syntax, mit der Pfade festgelegt werden, richtet sich nach der PHP-Funktion `fnmatch` (http://php.net/manual/de/function.fnmatch.php).
|
|
|
|
|
|
|
|
Beispiele:
|
|
|
|
* `parent/parent/*`
|
|
|
|
* `parent/parent/*gr[ae]y`
|
|
|
|
|
|
|
|
Der registrierte URL-Pfad muss nicht zwangsweise mit dem Namen der Seite, auf die hingeleitet werden soll, zutun haben. Der Pfad `pferde/sind/toll` kann auch auf die Seite `/HundeSindBesser` leiten. |
|
|
|
\ No newline at end of file |