Ein Drupal Modul erstellen mit Hilfe von ChatGPT
Man kann von der disruptiven Macht der Künstlichen Intelligenz halten, was man will, es macht auf jeden Fall Sinn, sich damit zu beschäftigen und die Grenzen auszuloten.
Da ist auch spannend, wie viel ChatGPT von Drupal versteht, wenn man mit der kostenlosen Version ChatGPT 3.5 arbeitet.
Dieser kleine Versuch zeigt auf, wie man den Prompt formulieren kann und auf welchem Stand der Drupal Versionen ChatGPT im Dezember 2023 ist.
Prompt:
Wir sagen ausdrücklich, dass das Modul mit drush erzeugt werden soll. Andernfalls wird Drupal Console empfohlen, was ich nicht nutze.
Natürlich kann man auch damit arbeiten.
Bitte entwickle ein Modul für Drupal, das jedes Vorkommen des Wortes "schließlich" in einem Textform rot färbt. Verwende dabei die Hilfsklassen von Bootstrap 5. Verwende zum Erstellen des Moduls drush.
Ergebnis
Dies ist das unveränderte Ergebnis, das ChatGPT ausgibt, bzw. ich habe den Text so manipuliert, dass er den Namen des Moduls enthält, das ich "testchatgpt" genannt habe.
Um ein Drupal-Modul mit Drush zu erstellen, das jedes Vorkommen des Wortes "schließlich" in einem Text rot färbt und dabei Bootstrap 5 Hilfsklassen verwendet, kannst du die folgenden Schritte befolgen:
1. Modul mit Drush erstellen:
Öffne dein Terminal und wechsle zum Drupal-Root-Verzeichnis. Führe dann den folgenden Befehl aus, um ein neues Modul mit Drush zu erstellen:
drush generate module
Folge den Anweisungen, um die erforderlichen Informationen einzugeben, wie den Modulnamen, die Beschreibung usw.
2. Hinzufügen von JavaScript und CSS:
Öffne die generierte .info.yml
-Datei in deinem Modulverzeichnis und füge die folgenden Zeilen hinzu, um deine JavaScript- und CSS-Dateien zu laden:
name: 'testchatgpt'
type: module
description: 'Ein Modul, das das Wort "schließlich" rot färbt.'
core_version_requirement: ^8 || ^9
package: Custom
libraries:
- 'testchatgpt/testchatgpt.libraries.yml'
stylesheets:
- 'testchatgpt/css/style.css'
Erstelle dann die Ordner js
und css
in deinem Modulverzeichnis. Füge die JavaScript-Datei testchatgpt.js
in js
und die CSS-Datei style.css
in css
hinzu.
3. JavaScript hinzufügen:
In der erstellten testchatgpt
.js
-Datei füge den folgenden Code hinzu:
(function ($, Drupal) {
Drupal.behaviors.deinModul = {
attach: function (context, settings) {
// Markiere das Wort "schließlich" rot.
$('body', context).once('deinModul').each(function () {
var content = $(this).html();
var markedContent = content.replace(/schließlich/g, '<span class="text-danger">schließlich</span>');
$(this).html(markedContent);
});
}
};
})(jQuery, Drupal);
4. CSS hinzufügen:
In der erstellten dein_modul.css
-Datei füge den folgenden Code hinzu:
/* Füge Bootstrap-Hilfsklassen hinzu, um die rote Farbe zu definieren */
.text-danger {
color: #dc3545 !important;
}
5. Modul aktivieren:
Aktiviere das erstellte Modul mit Drush:
drush en testchatgpt
6. Cache leeren:
Leere den Drupal-Cache, um die Änderungen wirksam werden zu lassen:
drush cr
Nach diesen Schritten sollte jedes Vorkommen des Wortes "schließlich" in einem Text rot markiert werden, und Bootstrap 5 Hilfsklassen werden für die rote Farbe verwendet. Beachte, dass dies eine einfache Lösung ist und möglicherweise Anpassungen erfordert, um spezielle Anforderungen zu erfüllen.
Korrekturen
Die folgenden Änderungen habe ich gemacht:
1. info.yml
-Date
Die Version wurde von drush für Drupal 8 oder 9 angelegt.
Drush macht es gleich richtig und schreibt stattdessen:
core_version_requirement: ^9 || ^10
Die folgenden Zeilen sind nicht nötig und wurden weg gelassen:
libraries:
- 'testchatgpt/testchatgpt.libraries.yml'
stylesheets:
- 'testchatgpt/css/style.css'
2. JavaScript angepasst:
In der erstellten testchatgpt
.js
-Datei habe ich alle Vorkommen von $ durch jQuery ersetzt und außerdem die folgende Zeile
$('body', context).once('deinModul').each(function () {
durch
jQuery('.text-formatted .field__item').each(function () {
ersetzt.
3. Libraries-Datei angepasst:
Die von ChatGPT hinzugefügten Zeilen habe ich durch diese ersetzt: # Custom module library for general purposes. custom: version: 1.x css: theme: css/style.css: {} js: js/testchatgpt.js: {}
Testen
Bei einem Inhaltstyp mit formatiertem Textfeld wird ein Text eingefügt und die Ausgabe kontrolliert.
Die sieht jetzt korrekt so aus:
Fazit:
Noch kann ein Laie mit den Angaben wohl kaum ein Drupal Modul erstellen.
Aber als kleine Erinnerungshilfe, was alles getan werden muss, um die Struktur für so ein Modul zu erstellen, ist die Angabe durchaus brauchbar.
Mit der kostenpflichtigen PRO-Version, wären die Angaben auch aktueller.