Search the FirstSpirit Knowledge Base
Hallo,
ich habe ein Tabellenvorlage in einem DB-Schema angelegt in welcher im Formular die Eingabekomponente CMS_INPUT_LINKLIST verwendet wird - bei dieser muss man über einen Link ein Medium (Feldname mediaref) auswählen.
<CMS_INPUT_LINKLIST name="cs_linklist">
<LANGINFOS>
<LANGINFO lang="*" label="Link auswählen" description="Bitte wählen Sie die entsprechenden Dateien aus."/>
</LANGINFOS>
<LINKEDITORS>
<LINKEDITOR name="internalLink.linkVideo"/>
</LINKEDITORS>
</CMS_INPUT_LINKLIST>
Meine Frage wäre jetzt nun wie ich im HTML-Reiter der Tabellenvorlage auf das Feld mediaref im mitgegebenen Link zugreifen kann.
Via <img src="$CMS_REF(cs_linklist.link.mediaref)$"/> funktioniert es leider nicht mehr.
Darf ich fragen, wieso Sie innerhalb der Tabellenvorlage auf die Attribute der Links zugreifen wollen? Der normale und einfache Weg ist die Ausgabe über die Verweisvorlage zu erledigen.
Versuchen Sie mal folgendes:
$CMS_FOR(link,cs_linklist)$
<img src="$CMS_REF(link.mediaref)$"/>
$CMS_END_FOR$
Ich bau mir in der Tabellenvorlage die gesamte Ausgabe (Titel, Bild (mit Link hinterlegt) zusammen, daher möchte ich auch in der Tabellenvorlage auf das mediaref-Attr. zugreifen.
Mir ist schon bewusst, dass der einfachere Weg über eine Verweisvorlage ist, jedoch kann ich es in diesem Fall so nicht handhaben.
Danke, mit der CMS_FOR funktionierts nun endlich und es werden mir die Medien welche sich im Feld mediaref befinden angezeigt.
Eine kurze Verständnisfrage hätte ich jedoch: Wieso kann man mittels der For-Schleife auf mediaref zugreifen und über $CMS_REF(cs_linklist.mediaref)$ nicht? Sogesehen ist ja im Code das $CMS_REF(link.mediaref)$ gleichzusetzen wie $CMS_REF(cs_linklist.mediaref)$ - oder verstehe ich da etwas falsch?
Eine Linkliste liefert immer eine Liste von Links zurück, auch wenn in der Liste nur ein Element (Link) enthalten ist. Die Liste ist eben nur eine (dumme) Liste und kein Link. Listen haben kein Attribut "mediaref". Wenn Sie sich die Dokumentation zur CMS_INPUT_LINKLIST ansehen, sehen rechts im Kasten den Rückgabewert "List <Link >". Dort ist das Prinzip noch mal genauer erläutert.
Sie hatten bei Ihrem Ansatz was ausgelassen, im Hinblick darauf das es nur ein Element ist. Das wäre dann so gegangen:
$CMS_REF(cs_linklist.get(0).mediaref)$
Damit hätten Sie das erste Element der Liste geholt und von dem das mediaref.
Allerdings ist die Variante mit CMS_FOR zukunftssicherer, da es ja durchaus mal mehr Elemente werden könnten.