delete, published, unpublished
am 26.02.2009 - 17:04 Uhr in
Hi,
Bereich: Verwaltung -> Inhaltsveraltung -> MyModul
Hier wird ein Form aufgebaut per select-tag der Auswahlmöglichkeiten löschen, veröffentlichen, Veröffentlichung zurücknehmen.
Darunter ist eine Tabelle mit der Auflistung der vorhandenen DB-Einträge. Im ersten Feld der Tabellendarstellung ist eine Checkbox. Wenn diese angeklckt wird, soll (und hier insbesondere der Vorgang löschen) löschen ermöglicht werden. In einfacher auswahl als auch per mehrfachauswahl.
Veröffentlichen oder Veröffentlichung zurücknehmen sind geklärt. Diese laufen einfach durch. Beim löschen soll jedoch noch mal nachgefragt werden, ob wirklich gelöscht werden soll. Dieser Aufbau steht. Es geht nun ausschl. noch darum, wie dieser Form dargestellt wird.
Grund der Frage: Wird löschen ausgewählt und ist auch mind. eine Checkbox angeklickt, läuft das ganze durch und zeigt die ursprüngliche Auflistung wieder an. Sprich die Seite wird nicht aufgebaut mit dem Hinweis.
Ablauf:
mymodul_admin_form() // Formaufbau select-tag
theme_mymodul_admin_form(&$form) // auflistung der vorhandenen db-einträge per tabelle und checkbox
bei klick auf löschen wird die funktion: mymodul_admin_content(&$form_state) angesprochen. In dieser wird geprüft, ob gelöscht oder sonst was passiert. Ist löschen ausgewählt wird die funktion per
return mymodul_delete_teaserimage_confirm( &$form_state, $form_state['post']['mymodul'] )
angesprochen. In dieser Funktion ist wiederum ein return mit confirm_form() enthalten.
Tja und statt die Seite darzustellen geht es wieder zur ersten Funktion.
Wo liegt der Denkfehler?
DANKE
- Anmelden oder Registrieren um Kommentare zu schreiben
die Submit funktion return
am 27.02.2009 - 15:53 Uhr
die Submit funktion return einen string?
Ich bin mir nicht sicher, aber du musst einen Redirect auf eine Confirm Form machen.
Willste nicht paar zeilen code zeigen
PS: das Node Modul macht im Adminberich genau das
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Ein par Zeilen - ich weis,
am 27.02.2009 - 16:41 Uhr
Ein par Zeilen - ich weis, es ist einfacher. Allerdings stellt sich die Frage welche Zeilen?
Es geht mir aber nicht um die submit-Funktion, sondern im Vorfeld wird ja (sollte) gefragt werden, ob man wirklich diese Aktion (welche ausgewählt per select-tag) man durchziehen möchte. In diesem Fall "delete". Innerhalb node.admin.inc ist ein gleicher prozess. Allerdings raff ich nicht, warum in node die Fragestellung kommt mit einem abbrechen-link bzw. lösch-button.
Der redirect erfolgt ja erst nach dem löschen oder liegt da mein Denkfehler?
Muss mal blöd fragen
am 27.02.2009 - 16:52 Uhr
Ist das nicht die gleiche Funtionalität die http://drupal.org/project/views_bulk_operations mit sich bringt?
See you at http://drupalcamp.de/
Richtig, wobei es nur um den
am 27.02.2009 - 20:38 Uhr
Richtig, wobei es nur um den letzten Select-tag geht. Oder wenn man in der Verwaltung -> Inhalte verwalten -> Inhalt z.B. einen Inhalt löschen möchte. Auch da ist die gleiche Funktionalität.
EDIT: Die Infos bringen mich irgendwie nicht weiter oder ich steh auf dem Schlauch.
gelöst oder auch nicht
am 02.03.2009 - 23:29 Uhr
Für jene welche es interessiert.
Einen Zwischenschritt zur Rückfrage ob die ausgewählte Aktion (per select-tag) wirklich ausgeführt werden soll, erhält man mit einer Funktion "mymodul_filter". Sprich selbst wenn man zwar alles korrekt bzgl. Datenbereitstellung im code hinterlegt (ob session oder array) wird es ohne eine Filter-Funktion keinen Zwischenschritt geben. Auch die Rückmeldung bei Erfolg wird nicht funktionieren.
Edit: Also für die updates ist das Problem gelöst. Allerdings häng ich nach wie vor an der Zwischenseite beim Vorgang "löschen". Hier finde ich keinen Anhaltspunkt, wie diese Zwischenseite aufzurufen ist, in welcher die Einträge aufgelistet werden und nochmals nachgefragt wird, ob man diese wirklich löschen möchte.
Edit: Ergänzende Frage: Was führt in einem Form dazu, dass eine Funktion mymodul_admin_mymodules_submit($form, &$form_state) nicht angesteuert wird?
Das input-tag "submit" hat in dem angehängten array '#submit' => array('mymodul_admin_mymodules_submit'),
Das select-tag hat als option unter "löschen" 'callback' => NULL,