Verwendung
Es sind 2 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 ->getEngineRealUrl() ->linkTo($shortLink, $realUrlModels, true) ; } private function getEngineRealUrl() { return $this->staticController(Realurl\engine::class); }
Validieren des Canonical Links
Code-Beispiele
Einfacher Link mit Shortling (cmsPageShortLink)
Links zu Datenmodels
Beispiel shopGroup mit verschaltelten Gruppen
use brandbox\cms\realurl; /** * @param int[] $groupIDs * * @return string */ public function get($groupIDs = []) { $groups = $this->getGroups($groupIDs); $contentType = $this ->getRepositoryShopGroup() ->getIdentifier() ; $realUrlModels = $this ->map() ->from($groups, true) // true = multiple ->withPropertyMap('contentID', 'id') ->withStaticMap('contentType', $contentType) ->to(group\lib\map\realUrlModel::class) ; return $this ->getEngineRealUrl() ->linkTo(self::SHORT_LINK, $realUrlModels) ; } private function getEngineRealUrl() { return $this->staticController(realurl\engine::class); } // group\lib\map\realUrl namespace brandbox\shop\group\lib\map { use brandbox\cms\realurl; /** * @author Christopher Holden <holden@konmedia.com> */ class realUrlModel extends realurl\lib\map\realurlModel { /** * @var string */ public $shopGroupName = ''; } }