Search the FirstSpirit Knowledge Base
Hallo Firstspirit User,
ich habe momentan Schwierigkeiten folgendes Szenario umzusetzen.
Im Mithras Energy Beispielprojekt möchte ich einen JS-Schnippsel in den mittleren Inhalt der Projektdetailsseite einbauen, der als Information die aktuell gewählte Produktkategorie bekommt.
Beispiel:
Wenn ich auf der Produktdetailseite von "Accum 150 L" bin, will ich in das generierte HTML noch die Information der Produktkategorie "Solarspeicher" rendern.
In der "Produkt"-Tabellenvorlage kann ich z.B. sowas hier machen:
$CMS_FOR(p1, #row.Categories_List)$
$CMS_VALUE(p1.Name_DE)$
$CMS_END_FOR$
Das hilft mir aber nicht, da es sich auf die Datenbankinhalte bezieht. D.h. wenn ein Produkt in mehreren Kategorien ist, werden alle angezeigt.
Kann man irgendwie herausfinden in welcher Kategorie man gerade ist und das schon im Template "programmieren"?
Ich würde mich freuen, wenn mir diesbezüglich jemand weiterhelfen könnte.
Mit freunlichen Grüßen,
Sebastian
Hallo Sebastian,
wenn ich den Sachverhalt richtig verstanden habe sollte dies das gewünschte Ergebnis liefern.
$CMS_SET(currentCategory,#global.node.content2Params.query.
selectStatement.parameterValue("category"))$
$CMS_IF(!currentCategory.isEmpty)$
$CMS_FOR(p1, #row.Categories_List)$
$CMS_IF(p1.getId() == currentCategory)$
$CMS_VALUE(p1.Name_DE)$
$CMS_END_IF$
$CMS_END_FOR$
$CMS_END_IF$
Grüße
markus
Hallo Markus,
danke für deine Antwort. Hat nicht ganz funktioniert, aber hat mich auf den richtigen Weg gebracht. So funktionierts:
$CMS_SET(currentCategory,#global.node.content2Params.filterParams.get("category"))$
$CMS_IF(!currentCategory.isEmpty)$
$CMS_FOR(catItem, #row.Categories_List)$
$CMS_VALUE(catItem.fs_id)$ - $CMS_VALUE(currentCategory)$
$CMS_IF(catItem.fs_id == currentCategory)$
$CMS_VALUE(catItem.Name_DE)$
$CMS_END_IF$
$CMS_END_FOR$
$CMS_END_IF$
Beste Grüße,
Sebastian
Hallo Sebastian,
es geht auch in einem Einzeiler:
$CMS_VALUE(#global.node.parent.getFolderLangSpec(#global.language).label())$
Viele Grüße
Jörg