Questions & Answers

rhb
I'm new here

XML-Ausgabe CMS_INPUT_DOMTABLE

Hallo,

ich versuche momentan gerade meine Tabelle welche ich mittels CMS_INPUT_DOMTABLE erstellt habe auszugeben.

Die Ausgabe im XHTML mittels $CMS_VALUE(#content)$ funktioniert einwandfrei, jedoch wenn ich das gleiche im XML-Reiter machen will gibt er mir leider nichts aus und einen Fehler bekomme ich auch nicht zurรผck.

Hatte jemand auch schon mal das selbe Problem oder weiรŸ vll. woran es liegen kรถnnte?

0 Kudos
10 Replies
feddersen
Community Manager

Hallo,

fรผr die Ausgabe werden folgende Formatvorlagen verwendet:

Fรผr die Darstellung einer Tabelle รผber die Standardformatvorlagen werden  die Formatvorlagen "Table" (Kรผrzel: "table"; Tabellenkรถrper),  "Table-Row" (Kรผrzel: "tr"; eine Tabellenzeile) und "Table-Cell" (Kรผrzel:  "td", eine Tabellenzelle) verwendet.

Siehe auch Dokumentation der Eingabekomponente.

Wahrscheinlich sind die Formatvorlagen fรผr ihren XML-Ausgabekanal noch nicht gefรผllt worden. Falls doch, posten sie doch bitte die Definition der Eingabekomponente (GOM) sowie das Vorlagenfragment, mit der sie die Tabelle ausgeben.

0 Kudos

Hallo,

die Formatvorlagen table, tr und td hรคtte ich im XML-Kanal befรผllt.

Eingabekomponente:

  <CMS_INPUT_DOMTABLE

    name="st_tabelle"

    bold="yes"

    columnChange="yes"

    combine="yes"

    hFill="yes"

    height="10"

    import="no"

    italic="yes"

    list="yes"

    listConfig="symbole:Listsymbole[yes:Ja|no:Nein]"

    listDefaultConfig="symbole=yes"

    propertyConfig="vertical:Vertikale Ausrichtung[top:Oben|middle:Mitte|bottom:Unten],Textumbruch[Ja|Nein], Hintergrund[Hellgrau|Dunkelgrau],columnwidth:Spaltenbreite (%)[type=text;maxlen=3;allowed=1234567890]"

    rowChange="yes">

    <FORMATS>

      <TEMPLATE name="p"/>

      <TEMPLATE name="p_1"/>

      <TEMPLATE name="pLine"/>

      <TEMPLATE name="Ueberschrift1"/>

      <TEMPLATE name="Ueberschrift2"/>

      <TEMPLATE name="Ueberschrift3"/>

      <TEMPLATE name="Hilfe"/>

      <TEMPLATE name="Rechtliches"/>

      <TEMPLATE name="Fussnote"/>

    </FORMATS>

    <LANGINFOS>

      <LANGINFO lang="*" label="Tabellenfรถrmiger Inhalt" description="Bitte fรผllen Sie die Tabelle aus"/>

    </LANGINFOS>

  </CMS_INPUT_DOMTABLE>

Ausgabe fรผr XML:

<CMS_HEADER>

<CMS_FUNCTION name="Table" resultname="fr_table">

    <CMS_PARAM name="tableData" value="st_tabelle"/>       

    <CMS_NODE_PARAM name="tableFormat">

        <HEADERSPEC><![CDATA[<table>$CMS_VALUE(#content.convert2)$</table>]]>

        </HEADERSPEC>

        <ROW number="ALL">

            <![CDATA[<tr>$CMS_VALUE(#content.convert2)$</tr>]]>

        </ROW>

        <ROW number="0">

            <![CDATA[<thead><tr>$CMS_VALUE(#content.convert2,default:"")$</tr></thead>

            $CMS_IF(st_tabelle.rows>1)$<tbody>$CMS_END_IF$

            ]]>

        </ROW>

        <ROW number="LAST">

            <![CDATA[<tr>$CMS_VALUE(#content.convert2)$</tr></tbody>]]>

        </ROW>

        <CELL col="ALL" row="ALL">

            <![CDATA[<td>$CMS_VALUE(#content.convert2,default:"")$</td>]]>

        </CELL>

        <CELL col="ALL" filltype="empty" row="ALL">

        <![CDATA[<td> </td>]]>

        </CELL>

    </CMS_NODE_PARAM>

</CMS_FUNCTION>

</CMS_HEADER>

$CMS_IF(!st_titel.isEmpty)$<h2>$CMS_VALUE(st_titel)$</h2>$CMS_END_IF$

$CMS_VALUE(fr_table)$

Grundsรคtzlich ist der XML-Code 1:1 der selbe wie fรผr XHTML - ich hab im XML lediglich die ganzen Style-Infos entfernt, da diese nicht benรถtigt werden. Oder ich รผberseh einfach was Entscheidendes...

0 Kudos
feddersen
Community Manager

Die Formatvorlagen:

      <TEMPLATE name="p"/>

      <TEMPLATE name="p_1"/>

      <TEMPLATE name="pLine"/>

      <TEMPLATE name="Ueberschrift1"/>

      <TEMPLATE name="Ueberschrift2"/>

      <TEMPLATE name="Ueberschrift3"/>

      <TEMPLATE name="Hilfe"/>

      <TEMPLATE name="Rechtliches"/>

      <TEMPLATE name="Fussnote"/>

sind im XML-Kanal auch eine entsprechende Ausgabe?

0 Kudos

Ja, auch im XML-Kanal sind dafรผr Ausgaben definiert.

Wobei diese jedoch egal sein sollten, da das XML ja nicht formatiert sein soll?!

0 Kudos
feddersen
Community Manager

So auf den ersten Blick erkenne ich keinen Fehler. Die Formatvorlagen brauchen auf jeden Fall ein $CMS_VALUE(#content)$ im XML-Ausgabekanal, sonst wรผrden die im DOM gespeicherten Eingaben gar nicht ausgegeben.

Kรถnnten Sie mal direkt ein $CMS_VALUE(st_tabelle)$ anstatt des $CMS_VALUE(fr_table)$ probieren? Dann wird nicht die Table-Funktion benutzt, sondern die Formatvorlagen (table/tr/td). Gibt es dann eine Ausgabe?

0 Kudos
Peter_Jodeleit
Crownpeak employee

Was sagt denn "Fehler der Vorschau"? Das "#content.convert2" kommt mir suspekt vor..

Peter
0 Kudos

In den Formatvorlagen steht jeweils ein $CMS_VALUE(#content)$ drin.

Eine direkte Ausgabe via $CMS_VALUE(st_tabelle)$ habe ich selbst schon ausprobiert bevor ich hier gepostet habe, da ich dachte, dass es vll. an der Funktion liegen kรถnnte, dass es keine Ausgabe gibt.

0 Kudos

$CMS_VALUE(if(#content.isEmpty, "", #content.convert2))$ at 1, 5): Replacing null value with empty default! Undefined field 'convert2'!

Das convert2 habe ich in diesem Fall deswegen eingebaut, da er mit einigen " & " die sich in der Tabelle befinden ein Ausgabeproblem hat. 

Geb ich nun das convert2 weg ( und testweise auch das " & " ) funktioniert die Ausgabe.

Hab das " & " jetzt zu einem &amp; gemacht und so funktionierts dann auch ohne convert2.

Vll. kรถnnte mir nur jemand noch kurz erklรคren, wieso durch das convert2 keine Ausgabe mรถglich war - Danke.

0 Kudos
feddersen
Community Manager

Die Methode convert2 steht nur fรผr Strings zur Verfรผgung. Bei #content handelt es sich allerdings um ein Systemobjekt, siehe die Dokumentation zu Formatvorlagen. Um convert2 anwenden zu kรถnnen, mรผssten sie also zuerst einen String erzeugen: $CMS_VALUE(#content.toString.convert2)$.

Schรถner wรคre es, wenn sie fรผr ihren XML-Kanal direkt eine entsprechende Konvertierungsregel anlegen und verwenden wรผrden, siehe Dokumentation zu Konvertierungsregeln. In der Konvertierungsregel wรผrden Sie im "convert" Teil alle in XML ungรผltigen Zeichen konvertieren.

0 Kudos

Type a product name