Search the FirstSpirit Knowledge Base
Hallo zusammen, bin ein newbie bei firstspirit. Ich habe eine Slider, bei dem mehrere Images nacheinander angezeigt werden. Die Anforderung ist nun, auf diesen Images auch Text zu zeigen. Ist das machbar und wen ja, wie? Im Moment wird ein Slider-Element so dargestellt: $CMS_IF(!st_sliderimage.isEmpty)$ $CMS_END_IF$
Hallo Diana,
mein SliderItem-image hat folgende Ausgabe:
<a href="$CMS_VALUE(if(st_linktype=="external",st_sliderlinkUrl,ref(st_sliderlink).url))$">
$CMS_IF(!st_sliderimage.isEmpty)$
<img src="$CMS_REF(st_sliderimage,res:"slider_wide")$" width="$CMS_VALUE(ref(st_sliderimage,res:"slider_wide").width)$" align="middle" alt="" border="0"/>
$CMS_END_IF$
</a>
meine SliderVorlage hat im FS_list Element das Template sliderItem-image und hat folgende Ausgabe:
$CMS_SET(set_themesCss,{
"light":ref(media:"light").url,
"dark":ref(media:"dark").url,
"default":ref(media:"default").url,
"bar":ref(media:"bar").url
})$
<link rel="stylesheet" href="$CMS_VALUE(set_themesCss[st_sliderTheme.value])$" type="text/css" media="screen" />
<div class="slider-wrapper theme-$CMS_VALUE(st_sliderTheme)$" style="clear:both;margin-bottom:25px;" $CMS_VALUE(editorId())$>
<div id="slider_$CMS_VALUE(#global.section.id)$" class="nivoSlider">
$CMS_FOR(for_slider,st_slider)$
$CMS_VALUE(for_slider)$
<div style="position:absolute; top:50px; right:100px; z-index:999">
$CMS_VALUE(for_slider.st_title)$
</div>
$CMS_END_FOR$
</div>
</div>
Das sieht erstmal gar nicht falsch aus...
Und du bekommst bei jedem Durchlauf der Schleife alle Werte von st_title ausgegeben...
Das finde ich schon merkwürdig?
Irgendwelche Fehler in der Generierung?
Könntest du vielleicht deine Ausgabe dahingehend abwandeln, dass du im Template den Title mit ausgibst?
Ich erkenne auf anhieb keinen Grund, warum das nicht auch möglich sein sollte.
Das würde wahrscheinlich zumindest mal dein Problem beheben.
Hallo zusammen, ich hab bisserl rumgespielt und der Text wird ausgegeben, wenn man ihn im image-tag als title="$CMS_VALUE(st_text)$" ausgibt. Man könnte den Text auch so ausgeben lassen:
<div class="...">
<div id="slider_$CMS_VALUE(#global.section.id)$" class="nivoSlider">
$CMS_FOR(for_slider,st_slider)$
<img src="" title ="#htmlcaption" ../>
$CMS_END_FOR$
</div>
</div>
<div id="htmlcaption" class="nivo-html-caption">
<strong>This</strong> is an example of a <em>HTML</em> caption with <a href="#">a link</a>.
</div>
Was ist möchte ist, innerhalb der Forschleife title = "#htmlcaption_elementID" generieren,
welches ich später in <div id="htmlcaption_elementID" wieder abfrage.
Damit der Text der ausgegeben wird, der Text aus dem jeweiligen Element in fs-List kommt und nicht der Statishe.
Ich hoffe ich konnte meine Frage einigermassen verständlich erklären.
Also möchtest du wissen, wie du die ID ausgibst?
$CMS_FOR(for_slider,st_slider)$
<img src="" title ="#htmlcaption_$CMS_VALUE(for_slider.id)$" ../>
$CMS_END_FOR$
Hallo,
als Anregung kannst du dir die Gallery Implementierung im Mithras Beispielprojekt anschauen. Dort kannst du dir zumindest den redaktionellen Teil abschauen.
Ansonten würde ich Michaels Tipp in Betracht ziehen und das ganze erstmal statisch bauen, wenn das dan funktioniert kannst du dich daran machen, das Ganze in das FirstSpirit Projekt einzubauen.
Viele Grüße
Thorsten