Verwendung
Um das Plugin zu verwenden ist kein zusätzlicher Aufwand des Nutzers notwendig, sofern das Plugin aktiv ist. Durch die Methode linkTo
wird ein Eintrag in der "real Urls"-Tabelle erstellt, sofern eine entsprechend gemappte Entität bereitgestellt wird. Wird beispielsweise der Link für die Artikel-Entität "Schrauber" mit der ID "10" in der deutschen Sprache beantragt, so wird ein Eintrag in der Tabelle erstellt, der die URL ".../schrauber" auf die Artikeldetailseite mit der ID "10" und der Sprache "1" mappt.
Code-Beispiele
Einfacher Link mit Shortling (cmsPageShortLink)
Codeblock |
---|
|
use brandbox\cms\realurl;
private function linkTo($shortLink = 'basket') {
return $this
->getEngineRealUrl()
->linkTo($shortLink)
;
}
private function getEngineRealUrl() {
return $this->staticController(realurl\engine::class);
} |
Links zu Datenmodels
Codeblock |
---|
language | php |
---|
theme | RDark |
---|
title | 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 = '';
}
} |