variable_get Werte in eigener Datenbank-Tabelle
am 21.03.2015 - 13:12 Uhr in
Hallo Forum,
ich habe ein Modul geschrieben, welches viele Variablen nutzt, wie bekomme ich diese in eine eigenen Datenbanktabelle, lediglich mit drupal_schema() ? Weiß Drupal dann automatisch, dass es die Werte von da zu nehmen hat oder wie läuft das ab? Ich glaube ich bin nicht in der Lage Google mit den entsprechenden Keywords richtig zu füttern.
mit bestem Gruß
Jens
- Anmelden oder Registrieren um Kommentare zu schreiben

Was ist denn drupal_schema()
am 21.03.2015 - 14:02 Uhr
Was ist denn
drupal_schema()? Ich kenne hook_schema() und denke mal das du diese Funktion meinst.Also: Mit
hook_schema()legst du die DB Tabelle für dein Modul mit den entsprechenden Spalten, Datentypen, Längen u.s.w. an.Die Variable, bzw. deren Wert bekommst du mit
variable_set()in die DB, mitvariable_get()fragst du sie ab.Edit: Ich hab glaub ich etwas missverständlich ausgedrückt.
variable_set() und variable_get() haben nichts mit der per hook_schema() erstellten DB Tabelle zu tun. variable_set() speichert den Variablen- Namen und den Wert persistent in der DB Tabelle "variables". Mit variable_get() greifst du drauf zu.
Mach mal'n Test in deinem Modul:
<?php
variable_set(drupal, center);
// und dann an einer beliebigen anderen Stelle
$magucken = variable_get(drupal);
dpm ($magucken);
?>
Wird dir "center" ausgeben!
Wenn du bestimmte Werte ein deiner eigenen Modul- Tabelle haben möchtest, speicherst du so wie in MySQL üblich, bzw. per Drupal Database API.
Hi, mit variable_get und
am 21.03.2015 - 16:01 Uhr
Hi,
mit variable_get und variable_set arbeite ich bereits, dadurch ist die Tabelle variable aber ganz schön unübersichtlich geworden. Daher dachte ich ich kann mit hook_schema (japp, ich meinte natürlich hook_schema) eventuell eine tabelle erzeugen und sämtliches set und get darin ausführen.
mfg
Jens
Hm, kannst du nicht bestimmte
am 21.03.2015 - 20:51 Uhr
Hm, kannst du nicht bestimmte Werte(Paare) als Array zusammenfassen und mit variable_set speichern? Sonst steht dir ja auch offen, mit db_insert() und db_select() in einer extra Tabelle zu arbeiten.
Ja, das stimmt, aber ich
am 22.03.2015 - 11:30 Uhr
Ja, das stimmt, aber ich denke ich lasse jetzt erstmal die normale Variante.
Vielen Dank für deine Hilfe, ich wünsche dir noch einen schönen Sonntag