Hiddenfeld erstellen und auslesen.
am 16.09.2008 - 14:48 Uhr in
Hallo,
dies ist mein erster Beitrag hier im Forum und ungefähr auf dem Level der Entwicklerkenntnisse befinde ich mich auch in Drupal. Ich benutze Drupal 5 und schreibe ein Modul welches mir Dateien aus einem Mediafield auf einen FTP Server
hochlädt.
Je nachdem mit welchem Attribut sie getaggt sind werden Sie in ein anderes Verzeichnis geladen.
Jetzt will ich aber auch wenn der User nur das Attribut ändert die Datei neu hochladen.
Die Attribute werden in einem CCK Select Feld gespeichert.
Im Updatehook lade ich die Daten auf den Server, je nachdem ob was geändert wurde oder nicht.
[field_video_attribute] => Array
(
[0] => Array
(
[value] => 1
)
)
Dies ist das CCK Feld welches ich überprüfen muss.
Problem an der Sache ist das im Updatehook dieses Feld schon auf den neuen Wert gesetzt ist und ich somit nicht überprüfen kann ob er sich geändert hat.
Darum habe ich mir den alten Wert im Preparehook aus der Datenbank geladen:
$sql_video = "SELECT field_video_attribute_value FROM {content_field_video_attribute} WHERE nid = '%d'";
$result_video = db_result(db_query($sql_video,$node->nid));
Und wollte im Preparehook ein Hiddenfield zum Content hinzufügen welches ich dann später im Updatehook vergleichen kann.
Prepare:
$node->content['video_attribut'] = array('#type' => 'hidden', '#value' => $result_video);
Leider steht im Updatehook in der Variable $hidden_video nichts so das ich es prüfen kann.
$hidden=$node->content[video_attribut];
Ist das die falsche Herangehensweise? Hab ich die Formapi nicht verstanden? Wie übergibt man normalerweise solche temporären Parameter, habt ihr Tipps für mich?
Ich bin für jede Hilfe dankbar!
Ich besitze auch die Bücher: Pro Drupal Development und Learning Drupal Module Development zum Nachschlagen.
http://api.drupal.org/api/file/developer/topics/forms_api.html/5 habe ich auch schon gelesen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Also ich hab es jetzt mit
am 17.09.2008 - 08:09 Uhr
Also ich hab es jetzt mit Globalen Variablen gelöst.
Wahrscheinlich nicht das sauberste aber es funktioniert. Sollte jemand eine Idee / Hinweis haben dann lasst ihn mich hören :)
Hidden Field braucht eine Form
am 06.10.2008 - 15:08 Uhr
Ein "hidden field" kann nur mittels einer Form übergeben werden. Es muß ein Element in der Form sein und kann danach auch als Form-Feld ganz normal verarbeitet werden. Es wird also in $form_state['values'] zu finden sein bzw in $form[#post'].
Gruß
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *