ampersand83
I'm new here

Inhalte eines Ausgabekanals in anderen übernehmen

Jump to solution

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

20 Replies

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

0 Kudos

Hallo,

weiß niemand eine Antwort?

Gruß Arnold

0 Kudos

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]))$

Peter

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

0 Kudos
MarsDD
Occasional Observer

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.

0 Kudos
MarsDD
Occasional Observer

Wenn du den XML Kanal via HTML Kanal renderst benötigst Du natürlich auch die Definition in der Linkvorlage.

0 Kudos

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

0 Kudos
MarsDD
Occasional Observer

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.

0 Kudos

Ja, ich weiß, sollte ja auch nur verdeutlichen, was ich möchte.

Noch jemand eine Idee?

0 Kudos