Questions & Answers

SOLVED
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

Type a product name