Search the FirstSpirit Knowledge Base
Hallo,
gibt es auf irgendeine Weise eine Möglichkeit den Inhalt eines Ausgabekanals in einen anderen zu übernehmen (kein Copy & Paste)?
Wir nutzen die UX-Bridge und generieren eine Nachricht in der in einem XML-Tag das komplette Markup eines Absatzes generiert werden soll.
Hierzu wird per CMS_VALUE Aufruf der Inhalt einer Absatzvorlage gerendert. Da diese aber vorallem im HTML Ausgabekanal genutzt wird, müsste ich nun, um auf das Markup auch im UX-Bridge Ausgabekanal zu nutzen, das Markup 1:1 in den UX-Bridge Ausgabekanals der Absatzvorlage kopieren.
Da die doppelte Pflege eines Ausgabekanals meines Erachtens nach sehr fehleranfällig ist, würde ich gerne darauf verzichten.
Gibt es eine Möglichkeit, um in einem Template den Inhalt eines ganz bestimmten Ausgabekanals einer eingebundenen Abastzvorlage auzugeben?
Viele Grüße,
Stefan
Ha, zu früh gefreut:
Links werden leider nicht korrekt ausgegeben, sondern in der Form <a href="#" data-link-template="document_link ..."
Warum das so ist, hat wohl mit der Methode .toText() zu tun, wie ich nun einem anderen Post entnehmen konnte. Bleibt also meine ursprüngliche Frage, wie ich die HTML-Ausgabe eines DOM Elementes im XML-Kanal ausgeben kann.
Gruß Arnold
Hallo,
weiß niemand eine Antwort?
Gruß Arnold
Hallo Arnold,
seit Version 5.1.11 kann man über "#global.template" auf den aktuellen Template-Knoten zugreifen, damit vereinfacht sich die Lösung für alle Template-Typen auf:
$CMS_VALUE(#global.template.templateDocument(#global.project.templateSets[x]))$
Hallo Peter,
vielleicht verstehe ich es nicht ganz, aber ich möchte nur den Inhalt eines DOM-Elementes
Code:
<field name="content"><![CDATA[$CMS_IF(!#row.description.isEmpty)$$CMS_VALUE(#row.description.toText(true))$ $CMS_END_IF$]]></field>
Ausgabe:
<field name="content"><![CDATA[<p><b>Vollflächig abgechipste Optik</b><br/>Anwendungsgebiet Boden<br/>Schwierigkeitsstufe 4<br/><a href="#" data-link-template="document_link" data-link-id="4cb0019c-2000-4d9e-ac3b-ebe6d35f7ae3">Zur Verarbeitungstechnik</a><br/></p> ]]></field>
Das passt soweit, fehlen nur die korrekten Links.
Vielleicht kann mir jemand auf die Sprünge helfen.
Gruß Arnold
Hast du bei den Linkvorlagen auch die Ausgabe im anderen Template-Set definiert?
Im HTML-Kanal natürlich schon. In XML nicht, da kann ich es auch nicht gebrauchen.
Wenn du den XML Kanal via HTML Kanal renderst benötigst Du natürlich auch die Definition in der Linkvorlage.
Hallo Marcel,
danke für deine Antwort.
Leider bringt mir das aber nichts.
Also: Ich bin im XML-Kanal und rendere den Content als XML. Ist ja soweit ok.
Allerdings möchte ich in dem einen genannten Feld eben nicht den XML-Content, sondern den HTML-Content.
Also so was in der Art (auch wenn es das nicht gibt, sollte aber meine Anforderung verdeutlichen)
$CMS_VALUE(#row.description, templateSet:"html")$
Gruß Arnold
Hi Arnold,
das Rendern von Inhalt via TemplateSet Argument macht ja nicht wirklich Sinn. TemplateSet Parameter kannst du bei Referenzierungen (CMS_REF) und Render-Stmt's (CMS_RENDER) angeben.
Ja, ich weiß, sollte ja auch nur verdeutlichen, was ich möchte.
Noch jemand eine Idee?