Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich stehe grade etwas auf dem Schlauch, wie ich in einer Vorlage wohl den Seitentitel der aktuell angezeigten Seite auslesen kann?
#global.page.getDisplayName()
liefert mir den Referenznamen der Seite in der Inhalte Verwaltung
z.B. my_page_content
#global.node.getDisplayName()
liefert mir den Referenznamen der Seite in der Struktur Verwaltung
z.B. my_page
Ich würde aber gerne den Namen der Seite in der entsprechenden Sprache auslesen (EN/DE...).
z.B.: My Page / Meine Seite
Hallo Herr Wehe,
mit $CMS_VALUE(#global.node.getLabel())$ geben Sie das Label der PageRef aus der Strukturverwaltung aus - dieses ist aber meines Wissen nicht sprachabhängig.
Sie könnten aber das Feld "Text für Menü-Übersicht" verwenden und mit $CMS_VALUE(#global.node.getPageLangSpec(#global.language).getSiteMapLabel())$ ausgeben - dieses Feld ist sprachabhängig einsetzbar.
Oder Sie definieren eine Komponente im Template und geben diese mit #global.node.page.data.get("ptTitle").editor.get(#global.language).toString() aus.
Mit: $CMS_VALUE(#global.node.getLabel())$
bekomme ich den Seitennamen heraus, vielen Dank!
Leider kann ich aber noch nicht testen, ob dieser auch sprachabhängig ausgelesen wird, da es derzeit nur EN gibt. In Kürze kommen aber weitere Sprachen dazu.
Ich frage mich, wieso mir
$CMS_VALUE(#global.node.getDisplayName("EN"))$
nichts ausgibt? Laut API Doc sollte das funktionieren?!
Man berichtige mich, aber ich bin noch der Auffassung, dass das Strukturlabel nicht sprachabhängig setzbar ist. Wir haben hier das genannte Feld "Text für Menü-Übersicht" verwendet.
Der Ausdruck $CMS_VALUE(#global.node.getDisplayName("EN"))$ gibt nichts aus, da der Referenzname, den getDisplayName() ausgibt sprachunabhängig ist.
Ich berichtige
bsh % pageref.getDisplayName(project.getLanguages().get(0));
<Umsetzung mit FirstSpirit>
bsh % pageref.getDisplayName(project.getLanguages().get(1));
<Implementation processes for FirstSpirit>
bsh%
Link zur API: getDisplayName(Language)
Ah, ok - danke .
Jetzt frage ich mich allerdings, wo dies einen Einsatz finden könnte? Hier wird doch immer der Referenzname ausgegeben und der ist doch immer gleich, oder?
Oder seh ich hier was falsch?
Nein, das ist der Anzeigename (den man auch im Baum sieht). Der Referenzname ist "uid".
Das bei DisplayName die Uid angezeigt wird, verwirrte mich ehrlich gesagt auch - bei uns ist das aber so.
Mit z. B.
$CMS_VALUE(#global.node.getDisplayName(project.getLanguages().get(1)))$
erhalten wir stets die Uid
Haben wir etwas falsch konfiguriert?
Nein, die Rückgabe der UID ist der Fallback, wenn kein Anzeigename für die übergebene Sprache gepflegt wurde.
Verstanden. Das ist also der "node dependent fallback value".
Danke für die Geduld.