Sprechende URLs (Entwickler)
Verwendung
Es sind 3 Implementationen notwendig, um sprechende URLs für eigene Logik zu verwenden.
Registrieren des Canonical Link
Ein Canonical Link muss über die linkTo-Methode des Realurl-Packages registriert werden:
use Brandbox\CmsCore\Cms\Realurl;
private function linkTo(string $shortLink = 'basket', array $realUrlModels)
{
return $this
->getManagerRealUrl()
->linkTo($shortLink, $realUrlModels, true)
;
}
private function getManagerRealUrl(): RealUrl\Manager
{
return $this->staticController(Realurl\Manager::class);
}
$realUrlModels ist dabei ein Array aus Objekten, die das Interface Realurl\Lib\Interfaces\RealUrlInterface implementieren. Ein Objekt repräsentiert dabei immer genau eine Entity.
In den allermeisten Fällen kann direkt \Brandbox\CmsCore\Cms\Realurl\Lib\Map\RealUrlModel
verwendet werden.
Interface \Brandbox\CmsCore\Cms\Realurl\Lib\Interfaces\RealUrlInterface
Methode | Signatur | Beschreibung |
---|---|---|
getCanonicalQuery | public function getCanonicalQuery(): string; | Liefert die relative Canonical-URL als String zurück. |
getEntity | public function getEntity(): ?Dbal\Definition\EntityInterface; | Liefert das zu Grunde liegende Entity zurück. |
getIdentification | public function getIdentification(): string; | Liefert einen identifizierenden String zurück. Dies wird pro Implementation benötigt, um unterschiedliche Implementationen für denselben Entity-Typ zu unterscheiden. |
getParameters | public function getParameters(): array; | Liefert die Parameter als Name-Value-Paare zurück, die im Canonical URL-Datensatz gespeichert und beim Anwenden der Canonical URL als Request-Parameter zur Verfügung stehen sollen. |
getShortLink | public function getShortLink(): string; | Liefert den ShortLink der Seite zurück, die zur Darstellung der Inhalte verwendet werden soll. |
Validieren des Canonical Links
Wird ein Canonical Link über den öffentlichen Endpunkt geöffnet, muss er validiert werden, da dieser z.B. seit seiner Anlage seine Gültigkeit verloren haben kann. Für die Validierung wird das Event \Brandbox\CmsCore\Cms\Realurl\Lib\Event\OnValidate
gefeuert.
Event-Klasse | Beschreibung |
---|---|
\Brandbox\CmsCore\Cms\Realurl\Lib\Event\OnValidate | Wird beim Validieren eines aufgerufenen Canonical Link gefeuert. |
Ermitteln des Canonical Links für eine spezielle Kollation
Damit der Sprachumschalter im öffentlichen Endpunkt für jede Kollation einen der aktuellen Kollation entsprechenden Canonical Link ermittelt werden kann, muss folgendes Event subscribed werden.
Event-Klasse | Beschreibung |
---|---|
\Brandbox\CmsCore\Cms\Realurl\Lib\Event\OnPopulateCollationCanonicalQuery | Wird beim Erzeugen eines nicht existenten Canonical Link für den Sprachumschalter gefeuert.
|