[GELÖST] Mehrere File/managed_file Form Elemente auf einer Form
Eingetragen von th3o2211 (87)
am 09.07.2014 - 08:54 Uhr in
am 09.07.2014 - 08:54 Uhr in
Guten Morgen!
ich entwickele gerade ein Module und bräuchte kurze eure/n Hilfe/Ratschlag. Ich habe eine Form auf der es ein Upload feld gibt. Unter diesem ist ein Button de rmit ajax ein neues Feld einfügt. Das klappt alles wunderbar. Jedoch nur solange, bis ich Dateien hochlade. Z.b.:
ich Lade im ersten Feld eine Datei hoch drücke dann den Button um ein neues Feld hinzuzufügen. Es wird ein neues Feld erstellt. Dort lade ich eine zweite Datei hoch die dann direkt verschwindet.
ich habe bisschen gegooglet und hab auch plupload und multiupload module gefunden. Leider ist es nicht das was ich suche. Kann mir da einer vielleicht helfen? danke schonmal im vorraus
- Anmelden oder Registrieren um Kommentare zu schreiben
keiner eine idee? Ich hab
am 14.07.2014 - 14:03 Uhr
keiner eine idee? Ich hab bereits Media als zusäzliches Modul installiert. Selbe Problem wie bei o.g. Veruschen
Hi,sind Dokument 1 und
am 14.07.2014 - 14:17 Uhr
Hi,
sind Dokument 1 und Dokument 2 Content Typen?
Ich kann nur vermuten dass Du zwar per Ajax die Formen generierst/anzeigst.,
die Operation bezieht sich aber immer auf den gleichen Node dieser Form!
Ist die 2. Datei physisch im files verzeichnis vorhanden.
Auch die Log Files könnten aufschluss geben warum das File nicht hochgeladen wurde.
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Also Dokument 1 und 2 sind
am 14.07.2014 - 14:32 Uhr
Also Dokument 1 und 2 sind keine Inhaltstypen. Die Dateien werden mit dem drupal internen file handler hochgelanden und in der managed_file tabelle als flag 0 gekennzeichnet (laut doku ist das ein temporär status). Der webserver besitzt rechte auf den Verzeichnissen Dateien abzulegen. Logging in jeder Form geben keine Fehler / Warnings /Notices zurück.
Dokument ist ein Fieldset. Dieses Filedset beinhaltet eine select und ein file Form element. diese sind so aufgebaut:
<?php
$form['nameOfFieldset'][$i]['nameOfElement'] = array(
------ and so on
);
?>
ich hab ein hidden field welches nach dem abschicken der form per ajax den standartwert hochzählt und dies ergibt mein neues zusätzliches filedset. das Funktioniert soweit einwandfrei.
Leider hab ich das Problem, wenn ich ein Dokument fertig habe und ein neues Hinzufüge und dort eine Datei hochlade, verschwindet diese Datei + upload/entfernen button komplett und wird nicht gespeichert. Jedoch gibt es die Möglichkeit im Inhaltstyp ein Feld vom typ datei hinzuzufügen, dass X beliebig viele Werte enthält. Sowas würde ich gerne in meiner selbst zusammengebauten Form haben, leider habe ich nichts brauchbares gefunden!
Aber vielen Dank für dein Interesse Robert!
hast du mal in den LOGs geschaut,
am 14.07.2014 - 14:52 Uhr
was zu dieser Zeit auf dem WEB-Server passiert ist?
Wenn eine Datei verschwindet, hat dies Gründe, die meist in der LOG-Datei von Apache oder PHP festgehalten sind.
Grüße
Ronald
Ich bin zurzeit local
am 14.07.2014 - 15:01 Uhr
Ich bin zurzeit local unterwegs. Dort gibt es zwar ein php logging jedoch wir da nichts angezeigt. in der error.log vom apache ebenfalls nicht. Im drupal internen log genausowenig. Ich gehe davon aus, dass die Datei vorhanden ist, jedoch die Form an sich dies nicht handeln kann. Hast du schonmal sowas in der art gehabt?
Hi nochmal, ich glaube Dein
am 14.07.2014 - 15:20 Uhr
Hi nochmal,
ich glaube Dein Ansatz ist falsch.
Erstelle Dokument als Content Typ.
Per Ajax fügst du dann eine neue Form für diesen Content Typen ein.
So ist alles auf eine nid Referenziert und das sollte besser Hand zu haben sein.
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
lasse einfach mal
am 14.07.2014 - 15:26 Uhr
während der Arbeit einen debug proxy mitlaufen.
Dann siehst du den Datenverkehr vom Client zum Server (auch wenn es die gleiche Maschine ist).
Ich denke auch, dass du mit einem content_type und einem file_field besser dran wärst.
Grüße
Ronald
Danke erstmal für eure
am 14.07.2014 - 16:33 Uhr
Danke erstmal für eure Bemühungen. Jedoch verstehe ich nicht wieso ich aus Dokument ein inhaltstyp machen soll. Ich benutze ja die von drupal gegebenen Form Elemente und es muss doch möglich sein in einer Form mehrere Dateien hochzuladen. Im inhaltstyp funktioniert es doch auch!
Hi, zur
am 14.07.2014 - 16:31 Uhr
Hi,
zur Erklärung:
Jedoch verstehe ich nicht wieso ich aus Dokument ein inhaltstyp machen soll.
In Drupal ist alles was Du speicherst ein Node.
Wenn ich mir Dokument ansehen sehe ich ein File Feld und eine CheckBox.
Wie speicherst Du beide Daten wenn nicht in einem Node?
Im Inhalttyp funktioniert es doch auch!
Deswegen sage ich ja Du solltest einen Inhaltstypen für Dokument erstellen.
Debug Proxy = HTTP Proxy benötigst Du eigentlich nicht.
Du kannst den POST Request auch in Firebug ansehen.
MfG
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Doch klar speichere ich das
am 14.07.2014 - 16:50 Uhr
Doch klar speichere ich das als Node. Das Formular das ich gebastelt habe dient dazu ein von mir erstellten inhaltstyp zu befüllen. Ich will aber keinen zusätzlichen inhaltstyp generieren. Des weiteren weiß ich nicht in wiefern mir das bei meinem Problem im Formular helfen soll? Denn ich muss ja im Formular die Daten erfassen und das mache ich mit den Form Elementen. Diese werden in hook_validate überprüft und in submit erstelle ich das nodeobjekt vom inhaltstyp den ich erstellt habe.
Zu debug proxy: also schlicht und ergreifend den traffic den ich in der entwicklerconsole von Chrome / Firefox unter Netzwerk sehe? Wenn ja dort wird ein Post an den Server geschickt ich bekomme ein 200 OK. Also alles im grünen Bereich.
Ich hab das hier gefunden und
am 15.07.2014 - 18:44 Uhr
Ich hab das hier gefunden und mir mal das Beispiel angeschaut. Im Grunde hab ich das selbe gemacht jedoch hat nicht funktioniert. Jetzt hab ich es nachgesagt und es hat auf Anhieb geklappt. Add more Button for textfield and file field