pbender
I'm new here

PageGroup Label unerwartetes Verhalten

Hallo liebe Community,

wie kann ich bei einer PageGroup den Namen der Seite aus der Struktur-Verwaltung ausgeben? Oder gibt es die Möglichkeit über #nav.ref an das PageRef Objekt zu kommen?

#nav.label

Liefert den Namen der entsprechenden Seite zurück. Dieser wird entweder in der Struktur-Verwaltung gesetzt (Text für Sitemap) oder es handelt sich um den Namen der Seite aus der Inhalte-Verwaltung.

String
(Zeichenkette)

#nav.label gibt den "Text für Sitemap" oder den Namen aus der Inhalte-Verwaltung aus. Dies ist doch im Vergleich zu den anderen Navigations-Funktionionen inkonsistent und aus meiner Sicht ein unerwartetes Verhalten.

Ich möchte vermeiden, dass der Redakteur sich Gedanken machen muss, wo er welchen Namen zu pflegen hat:

  1. Struktur-Verwaltung
  2. Text für Sitemap
  3. Inhalts-Verwaltung

Danke und viele Grüße

Philipp

0 Kudos
8 Replies
sebastianc
Crownpeak employee

Hallo Philipp,

könntest du uns dein PageGroup-Beispiel genauer erläutern?

Nutzt du eigene Eingabeformulare neben der Struktur-Verwaltung?

Gruß,

Sebastian

0 Kudos
MichaelaReydt
Community Manager

Hallo Philipp,

ist dieses Posting noch aktuell? Benötigst du noch weitere Hilfe?

Solltest dieses Posting noch Bestand haben, wäre es super, wenn du Sebastians Fragen beantworten würdest.

Viele Grüße

Michaela

0 Kudos
pbender
I'm new here

Hallo Michaela, Hallo Sebastian,

ich habe eine PageGroup Navigation und wollte hierzu die PageGroup-Header-Funktion verwenden. Was natürlich auch der vorgegebene und schönere Weg ist. Innerhalb der PageGroup-Funktion wollte ich mit #nav.label den Menüname der Menüebene (aus der Struktur-Verwaltung) auslesen. Dies ist aber nicht möglich, da der Name der Seite aus der Inhalte-Verwaltung verwendet wird.

Bei jeder anderen Navigations-Funktion werden die Namen aus der Struktur-Verwaltung gezogen nur eben nicht bei der PageGroup Navigation-Funktion.

Mein aktueller Workaround ist folgender.

Ich hole mir die PageGroup Member selbst:

$CMS_SET(set_ft_pages, if(!set_ft_root.pageGroup.isEmpty, set_ft_root.pageGroup.members, {}))$

Iteriere über die Member:

$CMS_FOR(for_page, set_ft_pages)$

Gebe den DisplayName von der Struktur-Verwaltung aus:

$CMS_VALUE(for_page.displayName(set_ft_lang))$

Ich hoffe das Problem ist nun etwas verständlicher.

Danke und viele Grüße

Philipp

0 Kudos

Hallo Philipp,

wir denken, dass wir dein Problem nun verstanden haben. Zum Thema PageGroups gibt es noch zwei Systemobjekte, die dir weiterhelfen dürften: #docGroup und #docNode. Mit #docGroup.childs bekommst du die Liste deiner Seitenreferenzen, die du wolltest. Du kannst dann mit dem Index aus #nav.pos arbeiten. Es gibt aber auch auf beiden Objekten wieder ein label.

Probier mal, ob du damit besser zum gewünschten Ergebnis kommst.

Grüße,

Hannes

0 Kudos
pavone
I'm new here

Hallo Phillip,

ich habe gerade deine Situation nachgestellt und so wie ich PageGroups verstehe, macht es durchaus Sinn, dass #nav.label nicht den Menünamen der Menüebene liefert.

Meines Wissens müssen die Seitenreferenzen einer PageGroup direkte Kinder des Menüorderns sein, der die PageGroup definiert. In der Strukturverwaltung sieht es also (meines Wissens) immer so aus:

Menüordner --> Definiert die PageGroup und ihre Member

    Seitenreferenz 1 --> Member der PageGroup

    Seitenreferenz 2 --> Member der PageGroup

    ...

In meinem Testprojekt konnte ich Seitenreferenzen aus anderen Menüordnern oder Sub-Menüordnern nicht zur PageGroup hinzufügen.

Wenn #nav.label den Menünamen der Menüebene liefern würde, wäre das Ergebnis deshalb für alle Elemente der PageGroup immer gleich, da alle in der gleichen Menüebene liegen. Eine Unterscheidung wäre also nicht möglich.

Viele Grüße

Tim

0 Kudos

Hallo Tim,

#nav.label dürfte auch nicht den Menünamen der Menüebene liefern, sondern sollte den Namen der Seitenreferenz liefern. Dann würde man alle Menünamen aus der Strukturverwaltung ziehen und hätte keinen Mix aus Inhaltsverwaltung und Strukturverwaltung für die Anzeige der Menünamen.

Vermutlich erreiche ich das gewünschte Ergebnis mit #docGroup.childs, trotzdem ist das jetzige Verhalten für mich etwas unlogisch Smiley Happy .

Angenommen ich habe eine Inhaltsseite und diese wird von meherern Seitenreferenzen verwendet und diese Seiten sind noch zufällig in einer PageGroup. So kann ich keinen unterschiedlichen Menünamen angeben, da dieser aus der Inhaltsstruktur gezogen wird.

Viele Grüße

Philipp

0 Kudos

Hallo Phillip,

#nav.label dürfte auch nicht den Menünamen der Menüebene liefern, sondern sollte den Namen der Seitenreferenz liefern. Dann würde man alle Menünamen aus der Strukturverwaltung ziehen und hätte keinen Mix aus Inhaltsverwaltung und Strukturverwaltung für die Anzeige der Menünamen.

Auch dann würde sich #nav.label "anders als sonst" verhalten. Außerdem muss der Anzeigename der Seitenreferenz ja nicht unbedingt der Menüname für diese Seite sein.

Angenommen ich habe eine Inhaltsseite und diese wird von meherern Seitenreferenzen verwendet und diese Seiten sind noch zufällig in einer PageGroup. So kann ich keinen unterschiedlichen Menünamen angeben, da dieser aus der Inhaltsstruktur gezogen wird.

Das ist kein Problem, da du für jede Seitenreferenz individuell einen Namen über "Text für die Menü-Übersicht" definieren kannst. Dadurch kannst du die Pflege der Namen auch komplett in der Strukturverwaltung vornehmen.

Viele Grüße

Tim

Hallo Tim,

dann muss man sich wohl mit dem "anders als sonst" anfreunden Smiley Happy. Aber ich hoffe du verstehst etwas das Anliegen, da im Normalfall ein Redakteur das Wissen haben muss.

Danke und viele Grüße

Philipp

0 Kudos