Hallo zusammen,
ich versuche eine DOMTABLE aus einer Datenbank-Tabelle in eine CMS_Function vom Typ Table zu übergeben. Leider wird hier jedoch folgender Fehler geworfen:
(de.espirit.firstspirit.generate.SiteProduction): 'tableData' has wrong type: 'de.espirit.firstspirit.parser.eval.Undefined'.
Der Aufbau ist folgendermaßen:
In der Datenbank-Tabelle "product" werden die Daten eines CMS_INPUT_DOMTABLE (aus Formular der Tabelle) als Typ DOMTABLE gespeichert.
Bei der Auslese des DOMTABLE in einer Absatzvorlage, sollte die CMS_Function "Table" die Tabelle individuell verändern. Jedoch passiert an dieser Stelle dann der genannte Fehler.
Muss die Information aus der Datenbank erst in irgendeiner Form konvertiert werden, damit die Header-Funktion weiß, dass es sich um ein DOMTABLE-Element handelt?
Codeteil Table Formular:
<CMS_INPUT_DOMTABLE name="cs_comparison" allowEmpty="yes" bold="yes" hFill="yes" italic="yes" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Vergleich"/>
</LANGINFOS>
</CMS_INPUT_DOMTABLE>
Codeteil Absatzvorlage Formular:
<CMS_INPUT_COMBOBOX name="st_product" allowEmpty="no" hFill="yes" sortOrder="ascending" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.name</LABEL>
</LABELS>
<TABLE>product.product</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Produkt"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Codeteil Absatzvorlage Header (Ausgabekanal):
<CMS_HEADER>
<CMS_FUNCTION name="Table" resultname="fr_st_product_comparison">
<CMS_PARAM name="tableData" value="st_product.value.comparison" />
<CMS_NODE_PARAM name="tableFormat">
<HEADERSPEC>
<![CDATA[<table class="default-table feature-table" cellspacing="0" cellpadding="0">$CMS_VALUE(#content)$</table>]]>
</HEADERSPEC>
<ROW number="ALL"><![CDATA[<tr>$CMS_VALUE(#content)$</tr>]]></ROW>
<CELL col="ALL" row="ALL">
<![CDATA[<td class="text-center">$CMS_VALUE(#content)$</td>]]>
</CELL>
</CMS_NODE_PARAM>
</CMS_FUNCTION>
</CMS_HEADER>
Ohne die Funktion wird die Tabelle über $CMS_VALUE(st_product.value.comparison)$ ganz normal gerendert.
Viele Grüße
Philipp