Backendmodulentwicklung Werte aus vorhandener Tabelle holen aber wie ?
Hallo,
ich habe mal eine frage zum Thema backendmodul
'label' => &$GLOBALS['TL_LANG']['tl_groups']['de_group'],
'inputType' => 'select',
'options_callback' => array('tl_groups', 'getgroup'),
'search' => true,
'eval' => array('mandatory'=>true, 'maxlength'=>64)
)
ich bin gerade dabei ein backendmodul zu entwickeln.
nun möchte ich ähnlich wie bei der sprache in diesen modul auf ein bereits vorhandene tabelle zugreifen und bei der anlage eines kataloges auf
vorhande tabelle zurückgreifen. ich habe mir also eine klasse angelegt mit den namen tl_groups und eine methode mit den namen getgroups.
nun denke ich das ich in der methode die datenbanktabelle auslesen muss und den wert bei options callback zurück übergebe.
ist mein ansatz richtig oder wie macht man das ? gibt es ein buch wo das erklärt ist und hat jemand ein tip.
ich wäre für jede hilfe dankbar.
viele grüße claudia.
box zeigt seltsame werte an.
Hallo ,
erstmal danke für deine antwort.
ich habe das umgebaut und nun bekomme ich die angestrebten daten in der combobox angezeigt.
nun will ich aber die id des feldes in die neue tabelle speichern also müsste ich wieder ein methode machen ?
viele grüße claudia:cool:
geänderter datensatz wird nicht abgespeichert.
hallo,
ich habe eine tabelle kunde den kundennamen lass ich mir in einer box als auswahl anzeigen und stelle somit einen neuen datensatz zusammen.
die id der tabelle kunden soll nun in das feld id_ku in der neuen tabelle gespeicht werden.ist mein ansatz richtig ?
Code:
public function setgrouptocatalog($varValue, DataContainer $dc)
{
$ret=$this->Database->prepare("INSERT INTO tl_catalog (gr_id) VALUES (?)")->execute($VarValue,$dc->activeRecord->id);
return $varValue;
}
vielen dank im vorraus claudia
@ bandit ich habe gesehen das du ein ähnliches problem hattest.
Backendmodulentwicklung funktionsweise nirgend beschrieben.
hallo,
hat denn keiner einen Tip für mich, es gibt keine vernüftige lektüre über die Modulentwicklung im Backend.
Vielleicht könnte mir jemand hier im Forum helfen.
Viele Grüße Claudia
Keine Vernüftige Dokumentation
Hallo,
nach vielen Tagen des versuches Daten in eine Datenbank zu speichern mittels Save_Callback oder onsubmit_Callback bin ich leider an eine Stelle gekommen wo ich Denke
das es besser ist Contao nicht weiter zu benutzen und wieder zu Jommla zurück zukehren. Ich habe noch nie eine so schlecht dokumentiertes CMS gesehen. Ich habe mir 2 Bücher gekauft unter anderen
das von Leo Feyer und bin einfach nur entäuscht.
Nirgends wir beschrieben wie man die Callbacks benutzt. Hätte ich zwischendurch nicht mal eine Antwort von Bandyt bekommen wäre hier im Forum auch nichts passiert.
Es kann doch nicht so schwer sein sich in der Dropdownbox der Text anzeigen zu lassen und dann aber die ID wegzuspeichern.
momentan habe ich das , vielleicht hat ja doch von den Profi einer das nachsehen und gibt mir nochmal einen tip was ich verkehrt mache.
PHP-Code:
'label' => &$GLOBALS['TL_LANG']['tl_groups']['de_group'],
'inputType' => 'select',
#'foreignKey' => 'tl_groups.de_group',
'options_callback' => array('tl_groups','getgroup'),
'search' => true,
'eval' => array('mandatory'=>true, 'maxlength'=>64)
'save_callback' => array('tl_groups', 'setgrouptocatalog')
Code:
public function setgrouptocatalog($var, $dc)
{
$ret=$this->Database->prepare("INSERT INTO tl_catalog (gr_id) VALUES (?)")->execute($VarValue,$dc->activeRecord->id);
return $var = $ret;
vielen dank im voraus Claudia
Backendmodulentwicklung Werte aus vorhandener Tabelle holen aber wie ?
Hallo Bandyt,
das habe ich doch für load_callback so gemacht wie du es geschrieben hattest und das funktioniert ja auch ohne Problem.
siehe hier :
PHP-Code:
public function getcategory($dc)
{
$return = array();
$objMembers = $this->Database->prepare("SELECT * FROM tl_category")->execute();
if ($objMembers->numRows < 1)
{
return array();
}
while ($objMembers->next())
{
$return[$objMembers->id] = $objMembers->de_category;
}
return $return;
}
was nun nicht funktioniert ist folgendes .
ich will nun den neuen Datensatz in eine neue noch leere Tabelle abspeichern.
in der box steht nun der text den ich anzeigen will der valuewert ist aber die id 33 und diese möchte ich mit save_callback oder submit_callback speichern in eine neue tabelle speichern.
nun dachte ich das man da ein insert machen kann und gut ist ich bekomme aber immer wieder eine fehlermeldung.
Code:
Fatal error: Could not load class t in /is/htdocs/wp1158054_PZ7BFQS70G/www/system/functions.php on line 106
viele grüße claudia
Thema: Backendmodulentwicklung Werte aus vorhandener Tabelle holen aber wie ?
Aber ich möchte doch die id weggespeichert habe , die tabellen sind nicht über kindtabellen mit einanderverknüft weil das bei contao ja nicht mehren
tabellen funktioniert.
wenn ich jetzt auf speichern klicke wird doch der wert der im feld steht gespeichert aber nicht die id der tabelle oder sehe ich das falsch.
lg claudia
ich habe das mal umgesetzt und bekomme nun mit recht ein fehler der datenbank
PHP-Code:
Query error: Unknown column 'de_group' in 'field list' (UPDATE tl_catalog SET de_group='33' WHERE id='75')
Backendmodulentwicklung Werte aus vorhandener Tabelle holen aber wie ?
aber das feld heißt doch gr_id und das feld de_group ist doch aus einer anderen tabelle bekommt man den das nicht beigebracht wo der den feldwert einsetzen soll
HTML-Code:
[CODE]
$objMembers = $this->Database->prepare("UPDATE tl_Catalog SET gr_id=? where id=?")
->limit(1)
->execute($dc->id);[/CODE]
vielleicht so ?:eek:
Thema: Backendmodulentwicklung Werte aus vorhandener Tabelle holen aber wie ?
hallo,
klar wäre es möglich aber ich habe vorher noch eine andere idee , bei den fields array werden ja die felder defeniert die zur anzeige gebracht werden sollen. wenn ich hier schon schreibe das er das feld
id_gr anzeigen soll und ich mit options_callback den inhalt aus der anderen tabelle fülle dann muss ich nur noch übersetzten. oder nicht ?
Genauso funktioniert es , die zahl steht drin und die übersetzung bring die überschrift.
Besten Dank für deine Mühe.
Liebe Grüße
Claudia.