Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Die Canonical Links der sprechenden URLs werden anhand der Identifikationsfeldern aktualisiert, sofern das Häkchen in der Konfiguration gesetzt ist. Ist dieses nicht gesetzt, wird der Canonical Link nach der ersten Anlage nicht mehr verändert. Dies ist gleichzeitig das Standardverhalten, da ein nachträgliches Verändern von URLs aufgrund von negativen Effekten auf das Seitenranking von Suchmaschinen normalerweise nicht gewünscht ist.

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
languagephp
themeRDark
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
languagephp
themeRDark
titleBeispiel 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 = '';
    }
  }