RalfNussbaum
Returning Observer

Imagemap sortieren

Jump to solution

Für die barrierefreie Darstellung einer Imagemap muss ich die einzelnen Links zusätzlich als Liste mit Textlinks ausgeben. Dabei stellt sich nun die Frage, wie ich diese Auflistung sortiert bekomme. Durch Eingabe der Redaktion wäre am besten, alphabetisch und/oder numerisch auch schon mal ganz gut. Hat jemand eine Idee oder gibt es schon einen Thread zu dem Thema, den ich bislang leider nicht gefunden habe?

1 Solution

Accepted Solutions

Achso okay, mit sort(x -> x.link.lt_title) sortierst du nach dem Titel der Linkvorlage. Hiermit sollte es also gehen:

$CMS_FOR(FLAECHE,st_pic.areas.sort(x -> x.link.lt_title))$

     <li>$CMS_VALUE(FLAECHE.link)$</li>

$CMS_END_FOR$

Viele Grüße

René

View solution in original post

11 Replies
rednoss
I'm new here

Hallo Ralf,

du kannst die Links deiner Imagemap folgendermaßen alphabetisch sortiert ausgeben.

$CMS_FOR(FLAECHE,BEZEICHNER.areas.sort())$

     <li>$CMS_VALUE(FLAECHE.link)$</li>

$CMS_END_FOR$

Grüße

René

0 Kudos

Hi René, danke für Deine Antwort.

So etwas hatte ich auch ausprobiert, das funktioniert aber nicht. Müsste ich nicht irgendwie auf die Daten der Linkvorlage zugreifen und diese dann sortieren lassen?

Beste Grüße

Ralf

0 Kudos

Hallo Ralf,

mit FLAECHE.link greifst du schon auf den aktuellen Link zu. Das oben genannte Beispiel sollte im Mithras Energy Beispiel-Projekt mit der Vorlage 'External Link' funktionieren.

Wie sieht denn Deine Linkvorlage aus?

Grüße

René

0 Kudos

Meine Linkvorlage ist intern:


  <CMS_INPUT_TEXT name="lt_title" allowEmpty="yes" hFill="yes" singleLine="no" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Linktitel"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

  <FS_REFERENCE name="lt_reference" allowEmpty="yes" hFill="yes" useLanguages="no">
    <FILTER>
      <ALLOW type="pageref"/>
      <ALLOW type="pagereffolder"/>
      <ALLOW type="documentgroup"/>
    </FILTER>
    <LANGINFOS>
      <LANGINFO lang="*" label="Link"/>
    </LANGINFOS>
    <PROJECTS>
      <LOCAL name=".">
        <SOURCES>
          <FOLDER name="root" store="sitestore"/>
        </SOURCES>
      </LOCAL>
    </PROJECTS>
  </FS_REFERENCE>

  <CMS_INPUT_TEXT name="lt_tooltip" allowEmpty="yes" hFill="yes" singleLine="no" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="ergänzende Linkbeschreibung (Quickinfo)"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

0 Kudos

Achso okay, mit sort(x -> x.link.lt_title) sortierst du nach dem Titel der Linkvorlage. Hiermit sollte es also gehen:

$CMS_FOR(FLAECHE,st_pic.areas.sort(x -> x.link.lt_title))$

     <li>$CMS_VALUE(FLAECHE.link)$</li>

$CMS_END_FOR$

Viele Grüße

René

Sehr schön, vielen Dank, so funktioniert es!

0 Kudos

Hallo Rene,

habe die Sortierung der Imagemap auch mal ausprobiert, aber First Spirit macht anscheinend noch einen Unterschied zwischen Groß- und Kleinschreibung, so dass ich folgende Sortierung erhalte:

Hast Du eine Idee, was ich in der HTML-Ausgabe noch ändern muss?

Danke und viele Grüße

Claudia Zernack

0 Kudos

Hallo Claudia,

du kannst die sort-Methode einfach um die Funktion toLowerCase() erweitern.

Also sort(x -> x.link.toLowerCase().lt_title)

Grüße

René

0 Kudos

Hallo Rene,

leider hat die Umsetzung so nicht funktioniert, nach Änderung ist die Sortierung wieder ganz durcheinander.

Hast du noch eine Idee?

Gruß

Claudia

0 Kudos