Search the FirstSpirit Knowledge Base
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 |
#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:
Danke und viele Grüße
Philipp
Hallo Philipp,
könntest du uns dein PageGroup-Beispiel genauer erläutern?
Nutzt du eigene Eingabeformulare neben der Struktur-Verwaltung?
Gruß,
Sebastian
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
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
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
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
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 .
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
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 . Aber ich hoffe du verstehst etwas das Anliegen, da im Normalfall ein Redakteur das Wissen haben muss.
Danke und viele Grüße
Philipp