/

Massenaktionen

Mehrere Zeilen per Checkbox auswählen und dann in einer einzigen Anfrage per Bulk Edit bearbeiten oder per Bulk Delete löschen.

Aktivierung

bulk_actions($enabled = true) fügt eine Checkbox-Spalte hinzu - ganz links, vor jeder anderen Spalte -, mit der ein Besucher mehrere Zeilen auf der aktuellen Seite auswählen kann. Eine "Alle auswählen"-Checkbox in der Kopfzeile wählt alle Zeilen der aktuellen Seite aus bzw. hebt die Auswahl auf. Die Auswahl wird bei einem Seiten-/Such-/Sortierwechsel nicht gelöscht, sie bleibt also auch über mehrere Seiten hinweg bestehen, bis sie explizit aufgehoben wird:

$xcrud->table('products');
$xcrud->columns('productCode,productName,productLine,quantityInStock,buyPrice');
$xcrud->bulk_actions();

Sobald etwas ausgewählt ist, erscheint eine Leiste, die anzeigt, wie viele Zeilen ausgewählt sind, sowie die Schaltflächen Bulk Edit und Bulk Delete.

Bulk Delete

Entfernt jede ausgewählte Zeile in einer einzigen Anfrage (DELETE ?ids=1,2,3 gegen ajax_crud.php - eine einzelne WHERE pk IN (...)-Abfrage, nicht N einzelne Anfragen), hinter derselben ->remove_confirm()-Bestätigung, die auch ein einzelnes Löschen bereits nutzt.

Bulk Edit

Öffnet ein Formular mit jedem bearbeitbaren Feld, jeweils mit einer eigenen "dieses Feld übernehmen"-Checkbox neben einem normalen, typbewussten Steuerelement - standardmäßig nicht angehakt (und das zugehörige Steuerelement deaktiviert), sodass nichts angerührt wird, sofern es nicht ausdrücklich aktiviert wurde. Nur die angehakten Felder werden gesendet und in einer einzigen Anfrage auf jede ausgewählte Zeile angewendet (PUT ?ids=1,2,3). Da mehrere Zeilen beteiligt sind, gibt es keinen einzelnen "aktuellen Wert", der angezeigt werden könnte - jedes Steuerelement startet daher leer/mit Standardwert statt aus irgendeiner einzelnen Zeile vorausgefüllt.

->pass_var() gilt weiterhin sowohl für Bulk Edit als auch für Bulk Delete, serverseitig durchgesetzt, genau wie bei einem einzelnen Erstellen/Aktualisieren.

Optionsübersicht

AufrufWirkung
bulk_actions()Aktiviert die Checkbox-Spalte, "Alle auswählen" sowie die Bulk-Edit-/Bulk-Delete-Toolbar. Standardmäßig aus.
bulk_actions(false)Deaktiviert es ausdrücklich.