Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 6 Nächste Version anzeigen »

Die optionale Konfiguration für sprechende URLs schafft die Möglichkeit, das Navigieren im Shop transparenter zu machen. So werden kryptische URLs wie z.B. "shop.brandbox.de/article~de?articleID=10" zu "shop.brandbox.de/artikelname".
Des Weiteren werden auch Suchergebnisse von Suchmaschinen positiv vom Einsatz sprechender URLs beeinflusst.

Konfiguration

Für die Konfiguration gibt es eine Konfigurationstabelle namens unter Sprechende URLs. Hier kann die Funktion aktiviert bzw. deaktiviert werden.
Außerdem können weitere Einstellungen vorgenommen werden:

BereichBeschreibung
isActiveAktiviert das Plugin bei gesetztem Haken
withSkuGibt an, ob die Artikelnummer mit in die URL aufgenommen werden soll.
withIDGibt an, ob die ID mit in die URL aufgenommen werden soll
alwaysUpdateCanonicalLinkGibt an, ob Canonical Links immer aktuell gehalten werden sollen

 
Für die Verarbeitung der Geschäftslogik wird eine zweite Tabelle Canonical Links benutzt, welche für jede sprechende URL Informationen enthält, sodass diese der entsprechenden Seite zugewiesen werden können.

Aktualisieren der sprechenden URLs

Die Canonical Links der sprechenden URLs werden stets anhand der Identifikationsfeldern aktualisiert, sofern das Häkchen alwaysUpdateCanonicalLink in der Konfiguration gesetzt ist. Ist dieses nicht gesetzt, wird der Canonical Link nach der ersten Anlage nicht mehr verändert.

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)

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

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 = '';
    }
  }
  • Keine Stichwörter