Search the FirstSpirit Knowledge Base
Hallo,
ich habe mir eigene Klassen geschrieben, die die wichtigsten Info zu einem Datenbankschema ausliest (Schemen, enthaltene Tabellen mit Eigenschaften (Felder) und Beziehungen).
Nun will ich das ganze als PDF-Datei ausgegeben werden (der entsprechende Kanal ist vorhanden).
Nun habe ich nirgends etwas gefunden, wie ich eine Klasse (in einem Ausgabekanal) initialisiere.
Im Script wäre das: SchemenInfo schemenInfo = new SchemenInfo(context);
Wie aber im Ausgabekanal? $CMS_SET(schemenInfo, new SchemenInfo(#global.context))$ funktioniert nicht.
Der Methodenzugriff und das iterieren über Listen sollte ja dann funktionieren.
Wäre es auch eine Alternative den kompletten PDF-Quellcode in einem Script zu erzeugen und im PDF-Ausgabekanal dann per $CMS_RENDER(script:"schemeInfo")$ ausgeben zu lassen?
Grüße Andreas
Du kannst eine Liste als Rückgabeparameter eines Scriptes missbrauchen:
Template:
$CMS_SET(schemeninfo_list, [])$
$CMS_RENDER(script:"new_schemeninfo", param_ret:schemeninfo_list)$
$CMS_SET(schmeninfo, schemeninfo_list.get(0))$
$CMS_VALUE(schemeninfo.foobar())$
Script:
//!Beanshell
import foo.bar.baz.Schemeninfo;
param_ret.add(new Schemeninfo(context));
Hallo Michael, ich hatte eigentlich die Hofnung ganz auf ein Script zu verzichten. Grüße Andreas
die klasse liegt in einem modul in einer library dann sollte folgendes funktionieren:
$CMS_VALUE(class("SchemaInfo").myMethod())$
folgender beitrag ist auch zu dem thema https://community.e-spirit.com/message/1932#1932