Search the FirstSpirit Knowledge Base
Hallo,
folgendes Problem:
Ich habe in einem Masterprojekt eine neue Verweis Vorlage ("epaper") erstellt.
<CMS_INPUT_TEXT name="lt_link" hFill="yes" singleLine="no" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Target URL"/>
</LANGINFOS>
</CMS_INPUT_TEXT>
<CMS_INPUT_COMBOBOX name="lt_language" length="10" noBreak="yes" singleLine="no" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="language">
<LABELS>
<LABEL lang="*">#item.abbreviation</LABEL>
</LABELS>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Language" description="Choose language for epaper link"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
<CMS_INPUT_COMBOBOX name="lt_frame" hFill="yes" length="10" singleLine="no" useLanguages="no">
<ENTRIES>
<ENTRY value="_blank">
<LANGINFOS>
<LANGINFO lang="*" label="New window"/>
</LANGINFOS>
</ENTRY>
</ENTRIES>
<LANGINFOS>
<LANGINFO lang="*" label="Frame"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
In den Metadatentemplate wird eine CMS_INPUT_LINKLIST verwendet:
<CMS_INPUT_LINKLIST name="md_epaper" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="ePaper Links" description="ePaper Links"/>
</LANGINFOS>
<LINKEDITORS>
<LINKEDITOR name="epaper"/>
</LINKEDITORS>
</CMS_INPUT_LINKLIST>
Die Metadaten werden an einem PDF entsprechend gefüllt. Abfrage der Daten lautet dann wie folgt, in der Variable link sollten nun die gesetzten links stehen:
<strong class="langList"><em>ePaper</em> $CMS_VALUE(ps_systranslation.get("DOWNLOADCENTER_LABEL_LANGUAGES"))$<span></span></strong>
<ul>
$CMS_SET(set_languages,ref(set_st_download_media).project.languages)$
$CMS_FOR(link,set_st_download_media.meta("md_epaper"))$
<li $CMS_IF(#for.isLast)$class="last"$CMS_END_IF$>$CMS_VALUE(link)$</li>
$CMS_END_FOR$
$CMS_SET(set_languages,"")$
</ul>
Die Verwendung funktioniert im Masterprojekt auch wie gewollt. In einem Projekt das die Template aboniert werden die Links aber nicht dargstellt. Im Aboprojekt habe ich zum Debuggen die Zeile
<li $CMS_IF(#for.isLast)$class="last"$CMS_END_IF$>$CMS_VALUE(link)$</li> geändert in
<li $CMS_IF(#for.isLast)$class="last"$CMS_END_IF$>$CMS_VALUE(link.getData.get("lt_link") )$</li>
Zumindest wird jetzt html technisch etwas zusammen gebaut, schaut aber nicht wirklich gut aus:
<CMS_VALUE name="lt_link"><LANG id="§" set="1"><TEXT>http://www.google.de</TEXT></LANG></CMS_VALUE>
Hat jemand eine Idee warum die Vorlage im Master funktioniert, im Aboprojekt aber nicht?
Danke Lars
Sind denn alle notwendigen Vorlagen im Slaveprojekt angekommen? Metadatenvorlage, Linkvorlage?
Alles da! Aber egal was im Ausgabekanal des Linktemplates steht, im Slave wir nie etwas ausgegeben, im Master alles Bestens. Was mich noch wunder, bei folgender Abfrage müsste doch nur der Link angezeigt werden?
<li $CMS_IF(#for.isLast)$class="last"$CMS_END_IF$>$CMS_VALUE(link.getData.get(lt_link) )$</li>
Ist in der Verweisvorlage die Formular-Variablen Zuordnung richtig gesetzt?
Funktionieren die bereits vorhandenen Linkvorlagen noch - besteht das Problem nur bei der neuen Vorlage?
Wie gesagt, die Linkvorlage funktioniert im Masterprojekt einwandfrei. Auch wird diese über das Pooling richtig weiter gegeben (auch im Slave stimmt die Zuordnung der Variablen) Bereits vorhanden Linkvorlagen funktionieren sowohl im Master als auch Slave Projekten.
Funktioniert eine Kopie über manuellen Ex- und Import über Templateaktualisierung der entsprechenden Vorlagen?
Nein, dann funktioniert es leider auch nicht. Reine Vermutung, kann es mit folgender Konstelation zusammen hängen?
- Metadatenvorlage im Master
- PDF auch im Master und über RemoteMedia im Slave verfügbar
- Metadaten werden im Master am File gesetzt
Und nochmal die Frage, wenn ich nicht das Linktemplate benutze, sondern den Link im Absatztemplate direkt abfragen möchte, müsst dies dann nicht mit folgender Anweisung funktionieren?
$CMS_VALUE(link.getData.get(lt_link))$
denn
<CMS_VALUE name="lt_link"><LANG id="§" set="1"><TEXT>http://www.google.de</TEXT></LANG></CMS_VALUE>
scheint, zumindest mir, nicht das richtige Ergebnis.
Danke
Hallo Herr Schilling,
besteht das Problem noch? Falls ja, würde ich Sie bitten ein Ticket in unserem Helpdesk zu eröffnen. Das Thema erscheint mir zu komplex um das theoretisch über die Community lösen zu können.
Viele Grüße
Christoph Feddersen