Questions & Answers

Sebastian1
I'm new here

Frage zu Tabellenvorlage bei Mithras Projekte DB

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

3 Replies
m_Schlenz
I'm new here

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

0 Kudos

Hallo Sebastian,

es geht auch in einem Einzeiler:

$CMS_VALUE(#global.node.parent.getFolderLangSpec(#global.language).label())$

Viele GrรผรŸe

Jรถrg

Type a product name