fyf
I'm new here

#nav.label wert String vergleichen - Gleiche Navigationsebene

Jump to solution

Hallo liebe FS Community,

$CMS_VALUE(#nav.label)$ liefert mir ein String.

Nun möchte ich zwei Strings vergleichen mit einem Wert auf meinem Navigation, wober alle auf identischen Ebene.

Ist das überhaupt möglich :

#nav.label.compareTo(„News“)  oder #nav.label. compareTo(„referenzname_der_Struktur_Knoten“)

Oder

#nav.label.equals(„News“) oder #nav.label.equals(„referenzname_der_Struktur_Knoten“)

Es klappt nicht.

In meinem Main Navigation muss ich unterschiedliche Icons verwenden für die Ebene 1, je nach Titel.

#nav.isFirst  und #nav.isLast klappen schon, obwohl es nocht nicht in meinem Kontaxt ist, da es greifft auf globale <li>s des <ul>s... Aber die zwischenknoten der selben Ebene werden auch anders behandeln und klappt noch nicht  auch mit #nav.levelPos… oder #nav.data ("BEZEICHNER")

Ich bleibe auf Ebene 1, aber möchte alle Knote dieser Ebene gezielt zugreiffen und ein Icon setzen, das sollte normalerweise sehr gut klappen wenn ich die Strings vergleiche, damit wäre alles okay, aber fehlt mir etwas beim Bergleich von

#nav.label mit einem anderen expliziten String Wert vergleich könnte...

Hat jemand eine Idee, was mir dabei gefehlt hat?

Danke sehr! 🙂

Fabrice

Hier mein Test:

<CMS_ARRAY_ELEMENT index="1"> 

                    <![CDATA[<a href="$CMS_REF(#nav.ref)$">

                     $CMS_SET(str1, #nav.label)$

                     $CMS_IF(#nav.isFirst)$

                         <span class="hello-icont"></span>

                     $CMS_ELSIF(#nav.levelPos + 1)$

                         <span class="welcome-icon"></span>

                     $CMS_ELSIF(#nav.isLast)$

                         <span class="help-icons"></span>

                     $CMS_ELSIF( str1.compareToIgnoreCase("News"))$

                         <span class="text-icons"></span>

                     $CMS_ELSE$

                         <span class="news-icons"></span>

                     $CMS_END_IF$ $CMS_VALUE(#nav.label)$ </a>]]>

      </CMS_ARRAY_ELEMENT>   

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee

"compareToIgnoreCase" liefert kein "boolean", sondern ein "int" (für die Sortierung). Du wolltest wahrscheinlich "equalsIgnoreCase" benutzen...

Peter

View solution in original post

0 Kudos
4 Replies
Peter_Jodeleit
Crownpeak employee

"compareToIgnoreCase" liefert kein "boolean", sondern ein "int" (für die Sortierung). Du wolltest wahrscheinlich "equalsIgnoreCase" benutzen...

Peter
0 Kudos

Hallo Peter

danke für dein Hinweis,

Das hatte ich auch probiert, aber es geht noch nicht.

Kann man überhaupt dieses Vergleich im FS machen? Meine Logik sagt mir, dass es sollte gehen was Strings angeht... aber was mache falsch an der Stelle?

$CMS_ELSIF( #nav.label.equalsToIgnoreCase("News"))$

                         <span class="icon-news"></span>

oder

$CMS_ELSIF( #nav.label.equalsToIgnoreCase("knoten_ref_name"))$

                         <span class="icon-news"></span>

Danke

Fabrice

0 Kudos
fyf
I'm new here

kleine Korrektur

#nav.label.equalsIgnoreCase("ef")

0 Kudos

Hallo Fabrice,

benötigst Du noch weitere Hilfe oder hat Dir die Antwort von Peter bereits geholfen?

In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere

Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung

gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße

Thorsten

0 Kudos