Contact-Modul / Kategorien und Empfänger in Drupal 9
am 25.11.2023 - 21:29 Uhr in
Ich bin gerade mit der Migration von Drupal 8 auf 9 beschäftigt. Dabei habe ich folgendes Problem mit dem Contact-Modul:
In Drupal 8 war es möglich, in einem Kontaktformular in Abhängigkeit von der vom User ausgewählten Kategorie verschiedene Empfänger zu definieren.
Beispiel: https://www.imkerverein-spandau.de/contact - Wählt man hier z.B. die Kategorie "Allgemeines", geht die Mail an den Vereinsvorstand, wählt man die Kategorie "Website feedback", geht sie an den Webmaster usw.
In Drupal 9 sieht die Konfiguration des Contact-Moduls noch genauso aus, aber unter der Adresse wird nur noch das Kontaktformular für die vorausgewählte Kategorie angezeigt, der User kann die Kategorie nicht mehr auswählen. Wenn ich das richtig verstehe, müsste ich für jede Kategorie ein eigenes Kontaktformular anbieten, was mir sehr umständlich erscheint.
Habe ich das nicht richtig verstanden? Was kann ich tun, um wieder die Funktionalität wie in Drupal 8 zu erhalten?
- Anmelden oder Registrieren um Kommentare zu schreiben
Webform Modul vllt. besser geeignet
am 26.11.2023 - 01:39 Uhr
Das Core Contact Modul ist sehr rudimentär. Wir bevorzugen auch für Kontakt-Formulare das Webform Modul. Das bietet nicht nur sehr flexible Formular-Elemente, sondern sehr flexible Weiter-Verarbeitungs-Möglichkeiten die sich auch in Abhängigkeit zu den Eingaben steuern lassen.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
PHP-Error
am 26.11.2023 - 15:21 Uhr
Vielen Dank für den Tipp!
Zunächst muss ich mich korrigieren: Ich migriere nicht von Drupal 8, sondern von Drupal 7.98.
Ich habe das Webform-Modul installiert und werde mein Glück damit versuchen.
Zunächst erhalte ich folgende Fehlermeldung: "Dieses Modul erfordert PHP-Version 8.1.* und ist mit der aktuellen PHP-Version 7.4.33 inkompatibel." Leider ist aber PHP 8.1 nicht mit Drupal 7.89 kompatibel. Während der Migration wollte ich eigentlich die Drupal-7-Version noch online halten, bin also auf die PHP-Version 7.4.33 noch angwiesen... Beide PHP-Versionen parallel zu installieren ist bei meinem Provider leider nicht möglich.
Das charmante an dem rudimentären Contact-Modul war ja gerade, dass es mit einfacher Konfiguration und ohne Programmieraufwand alles bot, was ich für mein Kontaktformular brauche. Es ist schade, dass bei neuen Versionen, die ja eigentlich Verbesserungen bringen sollen, manche guten Features wegfallen. (Auch das Mayo-Theme vermisse ich und muss nach vergleichbarem Ersatz suchen. Ich versuche es jetzt mit DXPR.)
Seit Version 7.92 ist D7 mit PHP 8.1 kompatibel
am 26.11.2023 - 17:58 Uhr
Mit Version 7.89, die im März 2022 erschien, hängst Du da aber auch etwas hinterher inkl. Security Updates.
Seit Version 7.92 ist D7 mit PHP 8.1 kompatibel
Paralleler Betrieb von zwei PHP Versionen ist insbesondere für den Migrations-Prozeß sehr praktisch, auch wenn eine zweite Datenbank dafür reicht. Die elementare Arbeit am neuen System würde ich ohnehin nicht im Produktiv-Hosting durchführen. D.h. irgend ein zweiter Host wäre da hilfreich, wenn Du bei dem Hoster bleiben möchtest oder halt erstmal eine Art lokaler Betrieb mit VM, Xamp oder solchen Sachen. Und gerade weil es manchmal mit Custom oder Contrib Code Probleme geben kann bezüglich neuer PHP Versionen, ist es für das allgemeine Testen von Updates usw. auch hilfreich flexiblere oder Multi-Hosting-Umgebungen zur Verfügung zu haben auch nach der Migration.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Drupal 10 ist angesagt, da kommt man um PHP ^8.1 nicht rum
am 26.11.2023 - 18:01 Uhr
Eigentlich solltest Du gleich auf Drupal 10 Migration umschwenken, weil der Support für Drupal 9 schon ausgelaufen ist. Da kommst Du mit PHP 7.4 nicht weiter.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Lokale Installation?
am 27.11.2023 - 18:31 Uhr
Oh, das war ein Zahlendreher - 7.98 ist meine aktuelle Version. Die ist aber leider nicht wirklich mit PHP 8.1 kompatibel - ich erhalte die Fehlermeldung "TypeError: Unsupported operand types: array | array in include() (Zeile 229 von /hp/bd/ac/mw/www/themes/mayo/templates/page.tpl.php)." Vielleicht liegt das ja auch nur an dem Mayo-Theme. Jedenfalls scheint das keine Option zu sein.
Eigentlich wollte ich ja direkt auf Drupal 10 migrieren, aber wegen der PHP-Inkompatibilitäten war der Plan, zunächst auf Drupal 9 zu migrieren, da Drupal 9 sowohl mit PHP 7.4 (eingeschränkt) als auch mit PHP 8.1 kompatibel ist. Wenn dann alles läuft, sollte es mit PHP 8.1 und Drupal 10 weitergehen.
Vor einer lokalen Drupal-Installation bin ich bisher zurückgeschreckt, weil ich die Installationshinweise dazu recht unübersichtlich finde. Bisher bin ich gut mit den 1-Klick-Installationen beim Provider klargekommen. Aber ich werde wohl nicht drumherum kommen. Wo kann ich denn eine Schritt-für-Schritt-Anleitung zur Installation unter Windows 11 Home finden?
Das liegt am Mayo-Theme. Das
am 28.11.2023 - 00:32 Uhr
Das liegt am Mayo-Theme. Das muß für PHP 8.1 modifiziert werden. Das Theme ist aber ohnehin tot. Es empfiehlt sich, ein aktuelleres Theme zu verwenden.
Kurzfristig hilft in Zeile 229 :
<?php
if ($page['top_column_first'] != "" | $page['top_column_second'] != "" |
$page['top_column_third'] != "" | $page['top_column_fourth'] != "") {
?>
Das kommt aber mindestens noch einmal vor.
Für eine lokale Installation unter Windows solltest Du Dir die VirtualBox ansehen. Damit kannst Du auf Deinem Windows-System einen Unix-Server betreiben. Dann verhält sich alles wie beim Provider.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *