HenningHausenbe
I'm new here

Strukturpfad trotz SEO-URL auslesen

Jump to solution

Hallo,

wir haben für einige Seiten SEO-URLs angelegt, weil die Pfade über die Struktur sehr lang sind. Zu einem anderen Zweck benötige ich aber den Strukturpfad. Gibt es die Möglichkeit, den in der  Strukturverwaltung vorhandenen Pfad auszulesen?

Über $CMS_REF(#global.ref.node)$ bekomme ich beispielsweise nur den generierten Pfad ausgelesen.

Und noch eine Zusatzfrage: Kann man abfragen, ob für eine Seite eine SEO-URL angelegt wurde?

0 Kudos
1 Solution

Accepted Solutions

Danke, auf den Weg bin ich auch schon gekommen. Ich dachte es gäbe da evtl. noch was out of the box. Scheint leider nicht so.

Mein Lösungsweg sieht wie folgt aus:

$CMS_SET(set_depth, #global.node.depth)$

$CMS_SET(set_sitestorePath, {"start": #global.node.getParentFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")})$

$CMS_FOR(for_element, [1..set_depth])$

  $CMS_SET(set_rootFolder, set_rootFolder.getParentFolder)$

     $CMS_IF(#for.index == 0)$

       $CMS_SET(void, set_sitestorePath.put("production", set_rootFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")))$

     $CMS_ELSIF(#for.index == 1)$

       $CMS_SET(void, set_sitestorePath.put("location", set_rootFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")))$

     $CMS_ELSIF(#for.index == 2)$

       $CMS_SET(void, set_sitestorePath.put("root", set_rootFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")))$

     $CMS_END_IF$

$CMS_END_FOR$

Sehr individuell aber vllt. hilft es trotzdem irgendjemanden irgendwann einmal weiter.

View solution in original post

0 Kudos
4 Replies
brueder
I'm new here

Hallo Henning,

hilft dir vielleicht #global.canonicalUrl weiter?

Viele Grüße,

Lena

0 Kudos

Hallo Lena,

danke, aber leider hilft der Wert nicht weiter. SEO-URLs sind ja Ersetzungen der Original URLs. Daher handelt es sich bei der SEO-URL um die Canonical-URL und der Aufruf liefert null zurück.

Handelt es sich bei der generierten URL bereits um eine kanonische URL, liefert dieser Aufruf null zurück.

0 Kudos

Hallo Henning,

#global.ref.node ist vom Typ PageRef und da kann man sich über "getParent()" die komplette Vaterkette im Site-Store holen.

Hilft Dir das weiter?

Grüße Marian

0 Kudos

Danke, auf den Weg bin ich auch schon gekommen. Ich dachte es gäbe da evtl. noch was out of the box. Scheint leider nicht so.

Mein Lösungsweg sieht wie folgt aus:

$CMS_SET(set_depth, #global.node.depth)$

$CMS_SET(set_sitestorePath, {"start": #global.node.getParentFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")})$

$CMS_FOR(for_element, [1..set_depth])$

  $CMS_SET(set_rootFolder, set_rootFolder.getParentFolder)$

     $CMS_IF(#for.index == 0)$

       $CMS_SET(void, set_sitestorePath.put("production", set_rootFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")))$

     $CMS_ELSIF(#for.index == 1)$

       $CMS_SET(void, set_sitestorePath.put("location", set_rootFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")))$

     $CMS_ELSIF(#for.index == 2)$

       $CMS_SET(void, set_sitestorePath.put("root", set_rootFolder.getDisplayName(#global.language).toLowerCase.replaceAll("[^0-9a-z]", "-")))$

     $CMS_END_IF$

$CMS_END_FOR$

Sehr individuell aber vllt. hilft es trotzdem irgendjemanden irgendwann einmal weiter.

0 Kudos