ich habe in meinem Frontend ein Dropdown, das Kategorien beinhaltet.
Jeder Kategorie sind einige Typen zugewiesen, die nach Auswahl der jeweligen Kategorie
per Ajax nachgeladen werden sollen.
Der Ajax Aufruf über load funktioniert und nimmt auch von meiner Funktion load_Unterkategorien, die
in meinem Controller steht, Daten wieder an.
Um die jeweilige Unterkategorien (Typ) zu bekommen habe ich mit DataObject::get eine SQL zusammengebosselt,
der , wenn ich ihn in PHPmyAdmin teste auch die gewüschten Einträge von Typ zurückgibt.
Die Frage ist jetz, wie ich diese Daten nun mit einem Template-Snippet rendern kann, um sie dann fertig aufbereitet an die Ajax.load zurückzugeben.
DataObject::get():
$doSet = DataObject::get(
$callerClass = "Kategorie",
$filter = "Kategorie.ID =6",
$sort="Typ.Bezeichnung ASC",
$join = "LEFT JOIN Kategorie_Typen ON Kategorie_Typen.KategorieID=Kategorie.ID LEFT JOIN Typ ON Kategorie_Typen.TypID=Typ.ID",
$limit = ""
);
Dieses DataObject würde ich jetz gerne mit renderWidth in mein Template-Snippet rendern und dieses dann via return an meine Ajax-Funktion zurückgeben.
Das Template soll eine control Struktur enthalten, die die einzelnen Einträge darstellt:
<% control Typ %>
$Bezeichnung
<% end_control %>
Ich habe mal folgendes Versucht:
return $doSet->renderWidth(array('TypTemplate'));
oder
$daten = new DataObjectSet($doSet->forTemplate());
return $daten->renderWidth(array('TypTemplate'));
Leider funktioniert beides nicht.
Das Template wird zwar zum Rendern herangezogen und auch an Ajax übergeben, allerdings stehen mir die Daten nicht zur Verfügung, bzw ich bekomme Warnings :
return $doSet->renderWidth(array('TypTemplate')); verursacht:
1. DataObjectSet::__construct:Passed item #0 is not an object or assoziative array, can't properly iterated on in templates
2. Unknown class passed as parameters
Irgendwie bereite ich die Daten nicht richtig auf.
Für jegliche Ansätze bin ich wie immer äusserst dankbar.
Salut
Lukin

