aVogt
Returning Creator

Imagemap - Verweis auf Medium

Jump to solution

Hallo,

ich habe eine Imagemap in der es möglich sein soll einen Links auf ein Medium (PDF-Datei oder ein Bild) zu setzen.

Die Ausgabe der Area für das Medium wird bei $CMS_VALUE(st_imagemap.areasAsHtml)$ nicht ausgegeben.

Iteriere ich über $CMS_FOR(bereich, st_imagemap.areas)$

komme ich an den alle Werte für das Medium heran und ich könnte alle Area erstellen.

Bit es besondere Voraussetzungen für die Verweisvorlage, damit sie per $CMS_VALUE(st_imagemap.areasAsHtml)$ ausgegeben werden kann?

FS:2024.4

Grüße
Andreas

 

 

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Andreas,

warum benutzt Du denn nicht die empfohlene Ausgabe mittels CMS_FOR? Hier ein Beispielcode (die Namen der Eingabekomponenten im Link müssen natürlich entsprechend angepasst werden.

<map name="$CMS_VALUE(#global.section.name)$"$CMS_VALUE(editorId(editorName:"st_imagemap"))$>
$CMS_FOR(for_area,st_imagemap.areas)$
 <area shape="$CMS_VALUE(for_area.shape)$" coords="$CMS_VALUE(for_area.coordinates)$" href="$CMS_REF(for_area.link.lt_ref)$" alt="$CMS_VALUE(for_area.link.lt_text.convert)$" title="$CMS_VALUE(for_area.link.lt_text.convert)$"/>
$CMS_END_FOR$
</map><img src="$CMS_REF(st_imagemap.image)$")$" alt="imagemap" title="imagemap" usemap="#$CMS_VALUE(#global.section.name)$" border="0">

Das ist nicht viel länger und man hat die Kontrolle darüber, was wie ausgegeben wird.

Falls es einen Grund dafür gibt, den nicht empfohlenen Weg über $CMS_VALUE(st_imagemap.areasAsHtml)$ zu nutzen, dann stell bitte ein Ticket beim Tech Support ein, damit analysiert werden kann, wo genau das Problem liegt. Laut Doku müsste es ausreichend sein, wenn im Linktemplate die entsprechenden Eingabekomponenten (Text und Link) auf der Karteikarte Eigenschaften des Links korrekt zugeordnet werden. (Wobei ich mir unsicher bin, wie man einen internen Link diesbezüglich korrekt zuweisen soll 🤔)

Viele Grüße
Holger

View solution in original post

0 Kudos
4 Replies
hoebbel
Crownpeak employee

Hallo Andreas,

warum benutzt Du denn nicht die empfohlene Ausgabe mittels CMS_FOR? Hier ein Beispielcode (die Namen der Eingabekomponenten im Link müssen natürlich entsprechend angepasst werden.

<map name="$CMS_VALUE(#global.section.name)$"$CMS_VALUE(editorId(editorName:"st_imagemap"))$>
$CMS_FOR(for_area,st_imagemap.areas)$
 <area shape="$CMS_VALUE(for_area.shape)$" coords="$CMS_VALUE(for_area.coordinates)$" href="$CMS_REF(for_area.link.lt_ref)$" alt="$CMS_VALUE(for_area.link.lt_text.convert)$" title="$CMS_VALUE(for_area.link.lt_text.convert)$"/>
$CMS_END_FOR$
</map><img src="$CMS_REF(st_imagemap.image)$")$" alt="imagemap" title="imagemap" usemap="#$CMS_VALUE(#global.section.name)$" border="0">

Das ist nicht viel länger und man hat die Kontrolle darüber, was wie ausgegeben wird.

Falls es einen Grund dafür gibt, den nicht empfohlenen Weg über $CMS_VALUE(st_imagemap.areasAsHtml)$ zu nutzen, dann stell bitte ein Ticket beim Tech Support ein, damit analysiert werden kann, wo genau das Problem liegt. Laut Doku müsste es ausreichend sein, wenn im Linktemplate die entsprechenden Eingabekomponenten (Text und Link) auf der Karteikarte Eigenschaften des Links korrekt zugeordnet werden. (Wobei ich mir unsicher bin, wie man einen internen Link diesbezüglich korrekt zuweisen soll 🤔)

Viele Grüße
Holger

0 Kudos
aVogt
Returning Creator

Hallo Holger,

der einzige Grund ist, dass die EIngabekomponente FS_REFERENCE in den Verweisvorlagen nicht einheitlich benannt ist. mal "mediaref", "sitestoreref", "ref", .... Die unterschiedlichen Bezeichnungen stammen noch aus frühen Anfangszeiten, bzw. als FS_REFERENCE eine Eingabekomponente ersetzt hatte.

Da werde ich bei der Ausgabe halt auf die vorhandenen Eingabekomponenten testen müssen und dann die vorhandene ausgeben. 

Danke und Grüße
Andreas

0 Kudos
hoebbel
Crownpeak employee

Hallo Andreas,

Du kannst auch einfach die UID der Verweisvorlage prüfen (for_area.link.template.uid) und dann über ein CMS_SWITCH die korrekte Eingabekomponente ausgeben:
$CMS_SWITCH(for_area.link.template.uid)$
$CMS_CASE("...")$$CMS_SET(set_linkref,for_area.link.mediaref)$$CMS_SET(set_linktext,for_area.link.text)$
...
$CMS_END_SWITCH$

oder die Ausgabe in der Verweisvorlage selber durchführen (wie in der Doku beschrieben). Da die Verweisvorlagen ja wahrscheinlich auch noch woanders genutzt werden, würde das über einen Schalter funktionieren, der bei der Ausgabe der Imagemap gesetzt wird:
<map...>$CMS_SET(set_imagemapOutput,true)$...$CMS_SET(set_imagemapOutput,false)$</map>
Und in den Verweisvorlagen einfach eine Weiche einbauen
$CMS_IF(isSet(set_imagemapOutput) && set_imagemapOutput)$<Imagemap output>$CMS_ELSE$<normal output>$CMS_END_IF$

Viele Grüße
Holger

0 Kudos
aVogt
Returning Creator

Da gibt es einige Möglichkeiten ... ich lasse mir da etwas einfallen. 

0 Kudos