Redaktionssystem-Kategorie-Aliase automatisieren

Beim Erstellen und Ändern von Kategorien kann das eCMS automatisch die Alias-URL erstellen. Die nötige Alias-Konfiguration(en) dafür muss in den "eCDB Einstellungen" der Sitekonfiguration hinterlegt werden. Es kann eine Standard-Konfiguration für alle Kategoriebäume gültige Alias-Konfiguration eingetragen werden und zu jedem Kategoriebaum eine abweichende eigenen Alias-Konfiguration.  

  1. ...
  2. "cdb_category_page_alias_config" =>
  3.   array (
  4.     "__default__" =>
  5.     array (
  6.       "format_strings" => array(
  7.           "inhalte/${category}$/",
  8.           "inhalte/${category}$-${field:node_code}$/",
  9.       ),
  10.       "page_label" => "ecs_category",
  11.     ),
  12.     "product_groups" =>
  13.     array (
  14.       "format_strings" => array(
  15.           "produkte/${category}$/",
  16.           "produkte/${category}$-${field:node_code}$/",
  17.       ),
  18.       "page_label" => "ecs_product_subgroup",
  19.     ),
  20.   ),
  21. ...

Mit dem Beispiel oben, würden alle Kategorien aus dem Baum "product_groups" einen abweichenden Alias erhalten. Die Alias-Konfiguration "__default__" würde für alle anderen Bäume angewendet.

In dem Parameter "format_strings" wird der Format-String (Template) für die Alias-URL hinterlegt. Die Format-Strings werden der Reihe nach aufgelöst und wenn eine freie eindeutige Alias-URL zum Inhalt gefunden wurde, wird mit dieser der Alias erstellt.
Die Optionen für diesen Format-String sind hierweitergehend beschrieben.

In dem Parameter "page_label" wird das Label der Template-Seite hinterlegt, mit der der Inhalt angezeigt werden soll.

Es ist weiter möglich abweichende Alias-Konfigurationen pro Kategorie-Level zu hinterlegen. Mit dieser Option kann z.B. für das erste Level eines Kategoriebaums eine andere Template-Seite und Alias-URL eingestellt werden. In das folgende Beispiel zeigt dies für den Kategoriebaum "product_groups":

  1. "cdb_category_page_alias_config" =>
  2.   array (
  3.     ...
  4.     "product_groups#1" =>
  5.     array (
  6.       "format_strings" => array(
  7.           "shop/${category}$/",
  8.           "shop/${category}$-${field:node_code}$/",
  9.       ),
  10.       "page_label" => "ecs_product_group",
  11.     ),
  12.     "product_groups" =>
  13.     array (
  14.       "format_strings" => array(
  15.           "produkte/${category}$/",
  16.           "produkte/${category}$-${field:node_code}$/",
  17.       ),
  18.       "page_label" => "ecs_product_subgroup",
  19.     ),
  20.   ),

Mit der Erweiterung "#1" wird das Kategorie-Level im Baum adressiert. Die Level-Alias-Konfiguration wird bevorzugt behandelt. Die Level-Option kann auch bei der "__default__" Konfiguration verwendet werden. Die Standard-Alias-Konfiguration eines Kategoriebaums (z.B. hier "product_groups") hat aber immer Vorrang vor Default-Level-Konfiguration (z.B. wie "__default__#1").