- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Strukturpfad trotz SEO-URL auslesen
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?
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Henning,
hilft dir vielleicht #global.canonicalUrl weiter?
Viele Grüße,
Lena
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

