Versionen im Vergleich

Schlüssel

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

...

v5.5

...

 

...

Das Plugin cms/realurl erweitert brandbox um die Möglichkeit URLs im Shop sprechend zu machen, um 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/schrauber".Des  Des Weiteren werden auch Suchergebnisse positiv vom Einsatz von sprechenden URLs beeinflusst.

...

Für die Konfiguration des Plugins gibt es eine Konfigurationstabelle namens "Real url", welche in der Kachel "Real url" des Produktbereichs "shop" zu finden ist. Hier kann das Plugin aktiviert bzw. deaktiviert und die Cache-Dauer konfiguriert werden. Für die Verarbeitung der Geschäftslogik wird eine zweite Tabelle ("real urls") benutzt, welche für jede sprechende URL Informationen enthält, sodass diese der entsprechenden Seite zugewiesen werden kann.

...

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.

...

Die Zuweisungstabelle der sprechenden URLs wird stets anhand der Identifikationsfeldern aktualisiert. Wird eine URL aufgerufen, die auf den shortlink "article" verweist, wird die realurl mit den Inhalten der Identifikationsfeldern des angefragten Artikels verglichen. Gibt es hier eine Diskrepanz, wird der entsprechende Eintrag in der Zuweisungstabelle invalidiert und ein neuer erstellt, sodass die Links im Shop korrekt generiert werden. So werden auch alte URLs auf die aktuellsten URLs weitergeleitet.

...

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

...