CCK Imagefield -> Upload-Button/Entfernen-Button "fehlerhaft". Bug?
am 24.08.2010 - 13:52 Uhr in
Hallo,
ich stehe vor einem komischen Problem. Und zwar habe ich ein Formular indem der Benutzer 3 Bilder hochladen kann. Jedes "Imagefield" besteht aus einem Textfeld, einen "Durchsuchen"-Button und einen "Speichern (Upload)"-Button.
Unterhalb des gesamten Formulars ist auch nochmal ein "Speichern"-Button vorhanden.
Wenn ich nun aber Bilder mit dem jeweilgen Imagefield-Button "hochlade" und nicht auf den "Speichern"-Button ganz unten (für das gesamte Formular) klicke, so wird das Bild zwar im Ordner auf dem Server gespeichert, jedoch fehlt die Verknüpfung zu dem jeweiligem Bild. Wenn ich das Formular nämlich aktualisiere, wird das Bild nicht im Formular - und auch nicht im Template angezeigt. Es ist nur physisch auf der Platte gespeichert, aber Drupal kennt das Bild nicht :(
Das ist doch ein Bug, oder nicht?
Wenn ich ein vorhandenes Bild entfernen will, habe ich auch ein ähnliches Problem. Durch klick auf dem Entfernen-Button wird das Bild für den Benutzer sofort im Formular entfernt. Aber nur wenn der untere Speichern-Button gedrückt wurde, wird das Bild wirklich entfernt. Lässt der User diesen Schritt aus, so ist das Bild nach einer Aktualisierung des Formulars nach wie vor da.
Das ist sehr Benutzerunfreundlich und führt zu großen Verwirrungen :(
Hat jemand eine Idee?
Danke,
gruß Phil
- Anmelden oder Registrieren um Kommentare zu schreiben
So soll es sein
am 25.08.2010 - 17:10 Uhr
Wenn ich das richtig verstehe, läuft das genau so, wie es soll.
Du hast einen Node, in dem drei Bilder (und evtl. weitere Felder) stehen. Die Buttons neben dem Imagefield sind nur für "das Bild selbst zuständig". Der Speichern-Button unten für den Node. Wenn der Button unten nicht gedrückt wird, wird auch der Node nicht aktualisiert - warum sollte er auch. Das ist so, als ob du einen neuen Titel eingibst, aber nicht abspeicherst, und dich dann wunderst, dass der alte Titel drinsteht.
Finde ich ja interessant, dass deine User das nicht verstehen. Ich setze Imagefield auch bei verschiedenen Projekten ein, teilweise mit Leuten, die nicht viel Ahnung vom Web haben. Da hat sich bisher noch niemand beschwert.
Vielleicht fügst du einfach als Erklärung zum Image-Field einen Satz hinzu, dass die Leute unten auf Speichern drücken sollen. Manche lesen den Text ja durch.
Hi, danke für deinen Beitrag.
am 01.09.2010 - 11:04 Uhr
Hi,
danke für deinen Beitrag. War leider krank und kann mich erst heute wieder mit dem Thema befassen.
Naja, also meiner Meinung nach ist der Upload sehr sehr schlecht umgesetzt. Ich kann mir auch nicht vorstellen dass das all deine User verstehen.
Denn es darf nicht sein das ich neben einem Formularfeld auf "Speichern" klicke und dem User anschließend durch die Anzeige des Preview-Images das Gefühl gegeben wird, dass das Bild gespeichert ist.
Außerdem ist der gesamte Prozess nicht stimmig bzw. fehleranfällig. Denn die Bilder werden durch klick auf den Speicherbutton auf der Festplatte gespeichert, aber Drupal nicht bekannt gemacht. Das ist definitiv nicht in Ordnung und bringt zwangsläufig Inkonsistenzen mit sich. Denn früher oder später werden User das Formular benutzen und nur auf dem Speicherbutton drücken ohne die komplette Node zu speichern.
Das was Du schreibst, ist zwar sachlich alles korrekt, aber mit Benutzerfreundlichkeit etc. hat das wenig zu tun.
Für mich ist und bleibt es ein Fehler, da sehr leicht Inkonsistenzen auftreten. Mir bleibt anscheinend nur, den Speichernbutton in "Vorschau" umzubenennen oder ganz auszublenden.
Danke,
gruß Phil
Upload
am 01.09.2010 - 11:48 Uhr
Hallo.
Denn es darf nicht sein das ich neben einem Formularfeld auf "Speichern" klicke und dem User anschließend durch die Anzeige des Preview-Images das Gefühl gegeben wird, dass das Bild gespeichert ist.
Wenn dort wirklich "Speichern" steht, ist dies eine inkorrekte Übersetzung. Im Original sollte dort "Upload", also "Hochladen" stehen.
Außerdem ist der gesamte Prozess nicht stimmig bzw. fehleranfällig. Denn die Bilder werden durch klick auf den Speicherbutton auf der Festplatte gespeichert, aber Drupal nicht bekannt gemacht.
Die Verknüpfung zwischen Node und Datei wird beim Speichern der Node angelegt.
Überleg doch mal folgendes Szenario: Du gehst auf node/add/story und lädst dort eine Datei hoch. Wohin soll Drupal jetzt eine Verknüpfung der Datei anlegen? Die Node existiert zu diesem Zeitpunkt ja noch überhaupt nicht.
Dementsprechend macht der Prozess durchaus Sinn (und hat sich mittlerweile auch schon mehrere Jahre bewährt und ist auch hinsichtlich Usability getestet und nicht für ungeeignet empfunden worden).
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.