paul_di
I'm new here

Navigation selectedHTML $CMS_REF(#nav.ref)$ ist leer

Hallo Zusammen,

in der Formatvorlage für ein Menu wird Innerhalb des CMS_HEADER in selectedHTMl auf die #nav.ref zugegriffen. Das passt soweit, das Menu wird wie gewünscht dargestellt.

Klickt man nun auf einen Menupunkt so wird die entsprechende Seite geladen. Klickt man nun erneut auf den aktivien Menupunkt so zeigt der IE eine Fehlerseite an (Firefox und Chrome nicht). Dies kommt dadurch das der $nav.ref keine Wert ins href einfügt und der IE damit nicht zurecht kommt.

Zurzeit füge ich bei selectedHTML eine # hinter $CMS_REF(#nav.ref)$, um zu verhindern, dass das href leer bleibt.

Gibts hierfür einen schöneren Lösungsansatz?

<CMS_HEADER>

           <CMS_FUNCTION name="Navigation" resultname="fr_top_navi">

                    <CMS_PARAM name="expansionVisibility" value="standard"/>

                    <CMS_PARAM name="wholePathSelected" value="1"/>

                    <CMS_ARRAY_PARAM name="innerBeginHTML">

                              <CMS_ARRAY_ELEMENT index="0"><![CDATA[<ul>]]></CMS_ARRAY_ELEMENT>

                    </CMS_ARRAY_PARAM>

                    <CMS_ARRAY_PARAM name="beginHTML">

                              <CMS_ARRAY_ELEMENT index="0"><![CDATA[<li>]]></CMS_ARRAY_ELEMENT>

                      </CMS_ARRAY_PARAM>

                      <CMS_ARRAY_PARAM name="unselectedHTML">

                        <CMS_ARRAY_ELEMENT index="0"><![CDATA[<a href="$CMS_REF(#nav.ref)$">$CMS_VALUE(#nav.label.replaceAll("&", "&<br />"))$</a>]]></CMS_ARRAY_ELEMENT>

                    </CMS_ARRAY_PARAM>

                      <CMS_ARRAY_PARAM name="selectedHTML">

                        <CMS_ARRAY_ELEMENT index="0"><![CDATA[<a href="$CMS_REF(#nav.ref)$#" class="active">$CMS_VALUE(#nav.label.replaceAll("&", "&<br />"))$</a>]]></CMS_ARRAY_ELEMENT>

                      </CMS_ARRAY_PARAM>

                      <CMS_ARRAY_PARAM name="endHTML">

                        <CMS_ARRAY_ELEMENT index="0"><![CDATA[</li>]]></CMS_ARRAY_ELEMENT>

                      </CMS_ARRAY_PARAM>

                      <CMS_ARRAY_PARAM name="innerEndHTML">

                        <CMS_ARRAY_ELEMENT index="0"><![CDATA[</ul>]]></CMS_ARRAY_ELEMENT>

                      </CMS_ARRAY_PARAM>

          </CMS_FUNCTION>

 

</CMS_HEADER>

$CMS_VALUE(fr_top_navi)$

Danke im Voraus.

0 Kudos
2 Replies
jan-tilo
I'm new here

Hallo Paul,

was eine schöne Lösung ist, liegt im Auge des Betrachters 😉

Was mir zu Deinem "Problem" einfällt ist folgendes:

  1. Das href ist leer, weil bei Dir die URLs relativ erzeugt werden. Somit ist die URL von der aktuellen Seite auf die Seite leer.
  2. Man könnte als absolute URLs generieren, dann wäre das href nicht leer.
  3. Man kann sich dir Frage stellen, ob man überhaupt ein <a> generieren muss, wenn man sowieso nur wieder auf die selbe Seite zurückkommt.
  4. Du lässt es so wie es ist.

Viele Grüße

Jan Tilo

0 Kudos

Hallo Paul,

konnte Dir die Antwort von Jan Tilo weiterhelfen oder benötigst Du noch weitere Antworten?

Viele Grüße

Michaela

0 Kudos