Formulardaten werden nicht gespeichert
am 19.07.2010 - 18:07 Uhr in
Ich versuche mich gerade an meinem ersten Modul. Natürlich stehe ich auch kurz nach Beginn schon vor dem ersten Problem:
ich habe über "hook_form_alter" dem Node-edit-Formular eine neues Formularfeld hinzugefügt.
Das Feld erscheint dort auch, aber wenn ich etwas eintrage und abspeichere, werden die Daten nicht gespeichert, bzw. nicht angezeigt.
Muss ich drupal noch mal speziell sagen, das die Felder auch mit gespeichert werden sollen? Oder geht das gar nicht, und ich muss selbst nen Befehl schreiben um die in einer extra Tabelle direkt zu speichern?
Oder verwende ich lieber gleich CCK Felder? Leider hab ich noch kein verständliches Tutorial dafür gefunden:
Hier die Funktion aus meinem Modul:
function test_form_alter(&$form, &$form_state, $form_id) {
if (
isset($form['type']) &&
isset($form['#node']) &&
$form['type']['#value'] .'_node_form' == $form_id
)
{
$test = isset($form['#node']->test) ? $form['#node']->test : NULL;
$form['test'] = array(
'#type' => 'fieldset',
'#title' => t('Test Settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#weight' => 30,
);
$form['test']['ltest_product'] = array(
'#type' => 'textfield',
'#default_value' => variable_get('test_product', ''),
'#maxlength' => 128,
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#description' => t('Type name of Product here'),
);
}
}
Für Hinweise, Tipps und Links zu Tutorials (gut verständliche) wäre ich dankbar. Ich sitze da schon den ganzen Tag dran und finde im Internet keine verständlichen Texte dazu...
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn Du ein Feld in den Node
am 19.07.2010 - 18:45 Uhr
Wenn Du ein Feld in den Node nicht über CCK sondern über ein eigenes Modul zufügst, mußt Du Dich auch selbst um die Speicherung in der Datenbank und das Zuladen beim Aufruf des Nodes kümmern. Das geht dann über den hook_nodeapi.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke erstmal für die
am 19.07.2010 - 19:36 Uhr
Danke erstmal für die Antwort.
Ach verdammt, das hatte ich schon befürchtet. Das klingt recht unordentlich. Vor allem wenn ich überlege das man das ja villeicht auch irgendwann mal nach Drupal 7 konvertieren will, wo CCK ja Standard ist.
Ich denke um es "ordentlich" zu machen, sollte ich dann wohl versuchen dass über CCK zu lösen.
Kennt da jemand ein gutes Tutorial? Oder ein Simpel aufgebautes Modul wo man sich das gut abschauen kann? Ich hatte da vorhin schon sehr lange gesucht, weil ich die Vermutung schon hatte, aber hab nichts passendes gefunden...
Ich stoße immer nur auf irgendwelches Halbwissen in alten Forenbeiträgen...
(bevor jemand fragt: ich will diese Eingabefelder per Modul erzeugen, denn mein Ziel ist es die Daten die in dieses Feld eingegeben werden dann später mit einem Javascript zu kombinieren das einen Mehrwert für den Nutzer schaffen soll. Damit ich das Modul verbreiten kann muss es einfach mit einem Klick zu installieren sein.)
Für weiter Tipps wäre ich sehr dankbar.