Mehrere Filefields in einem eigenen CCK Field
am 09.08.2010 - 10:32 Uhr in
Hallo zusammen,
ich versuche ein eigenes CCK Modul zu schreiben. Ich habe ein Feld, in dem es möglich sein soll, ein Bild und zwei Videos hochzuladen. Zusätzlich habe ich einige Textfelder.
Ich kann momentan ein Bild und sämtliche Textfelder speichern. In der Datenbanktabelle habe ich ja 3 Spalten für das Bild: fid, list und data (und außerdem die Spalten für meine Textfelder). Die Speicherung übernimmt ja FileField. Ich hatte bisher leider noch keine sinnvolle Idee, wie ich da jetzt noch zwei Videos hochladen könnte. Für den Endanwender muss es auf jeden Fall so aussehen, dass er eben nur dieses eine Feld anlegen muss und darin dann diese Möglichkeiten hat. Daher kommt es nicht in Frage, einfach zwei oder drei Felder zu machen. Kann ich da irgendwie noch ein weiteres Feld integrieren oder so?
Dann hatte ich noch die Idee, die Anahl des Feldes immer auf "unbegrenzt" zu setzen. Damit würde Drupal extra eine Tabelle anlegen mit fid, list, data und delta. Vielleicht, dass ich dann mit dem delta irgendwie das reinspeichern könnte.
Hat jemand vielleicht eine Idee?
Edit: Noch zu erwähnen ist vielleicht, dass ich es nicht mal schaffe, noch ein Upload-Feld mit Upload-Button einzubinden.
Im Moment sieht es im hook_widget so aus:
$element1= imagefield_widget($form, $form_state, $field, $items, $delta);
$element1['#upload_validators'] += imagefield_widget_upload_validators($field);
und im hook_elements so:
$imgel = imagefield_elements();
$elements = array( 'my_widget' => $imgel[ 'imagefield_widget' ]);
$elements['my_widget']['#process'][] = 'my_widget_process';
Wenn ich im Widget noch eins reinschreibe, zeigt es trotzdem nur eins an.
- Anmelden oder Registrieren um Kommentare zu schreiben
Multigroup?
am 09.08.2010 - 10:47 Uhr
Hallo.
Nur mal eine kurze Zwischenfrage: Multigroup (als Teil von CCK 3.x) ist keine Option?
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo, danke für deine
am 09.08.2010 - 11:00 Uhr
Hallo,
danke für deine Antwort. Leider darf ich CCK 3 nicht verwenden...
Die Idee an sich wäre natürlich super.