Gii ist ein webbasierter Code-Generator für das Yii2-Framework, der die Entwicklung beschleunigt. Dieser Artikel bietet eine aktuelle technische Anleitung zur Implementierung eines Einzelseiten-CRUD-Systems mithilfe der AjaxCrud-Erweiterung, einer idealen Lösung für Anwendungen mit hoher Interaktivität.
Gii für Yii2 ist ein unverzichtbares Entwicklungswerkzeug. Standardmäßig bietet Gii Generatoren für Modelle, Formulare, Controller und konventionelle CRUD-Operationen. Allerdings führt die Standardvorlage von Gii jede CRUD-Aktion auf einer separaten Seite aus. Für moderne Entwickler, die Benutzererfahrung priorisieren, ist die Implementierung von Einzelseiten-CRUD mit Ajax die Lösung.
Um diesem Bedarf gerecht zu werden, dient die Erweiterung yii2-ajaxcrud von Johnitvn als Antwort. Diese Erweiterung ermöglicht es, alle Operationen – Erstellen, Anzeigen, Bearbeiten, Löschen – in einem modalen Dialog auf einer einzigen Ansicht ohne Seitenneuladung auszuführen. Nachfolgend finden Sie die aktualisierten Implementierungsschritte.
Schritte zur Implementierung von Einzelseiten-CRUD in Yii2
Stellen Sie sicher, dass Ihre Yii2-Entwicklungsumgebung (advanced oder basic) aktiv ist. Folgen Sie dann sorgfältig diesen technischen Verfahren.
1. Installation der AjaxCrud-Erweiterung
Installieren Sie die Erweiterung über Composer. Führen Sie den folgenden Befehl in Ihrem Terminal innerhalb des Projektverzeichnisses aus:
composer require johnitvn/yii2-ajaxcrud "~2.0"2. Handhabung der Icon-Assets (Font Awesome)
Die Erweiterung benötigt Font Awesome. Sie können das yii2-icons-Paket von Kartik verwenden. Fügen Sie die folgende Zeile zu Ihrer composer.json-Datei hinzu:
"kartik-v/yii2-icons": "*"Führen Sie dann composer update aus. Eine Alternative besteht darin, Font Awesome über CDN in Ihrem Hauptprojekt-Layout einzubinden.
3. Überprüfung des Menüs in Gii
Rufen Sie Gii über Ihren Browser auf (z.B. http://localhost/projekt/web/index.php?r=gii). Wenn die Installation erfolgreich war, erscheint eine neue Option namens „Ajax CRUD Generator“.

4. Erstellung eines Modells aus einer Tabelle
Erstellen Sie eine Modellklasse mit dem standardmäßigen Model Generator. Erstellen Sie beispielsweise ein Modell Country aus der Tabelle country in Ihrer Datenbank.

5. Generierung des CRUD mit dem Ajax CRUD Generator
Wählen Sie das Menü „Ajax CRUD Generator“. Füllen Sie das Formular mit der Modellklasse (z.B. app\models\Country) und der Controller-Klasse (z.B. app\controllers\CountryController) aus. Führen Sie dann eine Vorschau aus und generieren Sie den Code.

6. Erster Test und Problemidentifikation
Rufen Sie den erstellten Controller auf (z.B. http://localhost/projekt/web/index.php?r=country). Es wird eine Datengrid angezeigt, aber die Aktionsschaltflächen funktionieren möglicherweise aufgrund der Icon-Assets nicht optimal.
7. Registrierung der Font Awesome-Assets
Bearbeiten Sie die generierte Index-View-Datei (normalerweise unter views/country/index.php). Fügen Sie den folgenden Code oben nach den use-Anweisungen hinzu:
use kartik\icons\FontAwesomeAsset;
FontAwesomeAsset::register($this);8. Finale Überprüfung
Laden Sie die CRUD-Seite neu. Nun werden die Funktionen Erstellen, Aktualisieren, Anzeigen und Löschen in Ajax-Modaldialogen erscheinen. Dieser Prozess ist schnell und erfolgt ohne die Hauptseite zu verlassen, was eine flüssigere Benutzererfahrung bietet. Dies ist ein Schlüsselvorteil von Einzelseiten-CRUD.

Fazit und Entwicklungsempfehlungen
Die Kombination aus Gii Yii2 und der AjaxCrud-Erweiterung ergibt eine hocheffiziente Entwicklungslösung. Diese Implementierung von Einzelseiten-CRUD eignet sich für Admin-Dashboards und Anwendungen, die Echtzeitinteraktion erfordern. Konsultieren Sie stets die offizielle Dokumentation der Erweiterung für weitere Konfigurationen. Stellen Sie außerdem sicher, dass Sie umfassende Tests in einer Staging-Umgebung durchführen, bevor Sie in die Produktion gehen.
Durch die Befolgung dieser Anleitung können Entwickler reaktionsschnelle und moderne Datenmanagement-Oberflächen erstellen. Dieser Ansatz nutzt die Geschwindigkeit von Gii und die Agilität der Ajax-Technologie voll aus, um eine überlegene Benutzererfahrung zu bieten.


