Ich bin Entwickler und Betreuer des CiviCRM-Projekts. Wir haben versucht, eine Drupal 8-Version von CiviCRM zu erstellen, und es ist ein langer Weg zurückgelegt. Wir schlagen unsere Köpfe gegen unsere kollektiven Tastaturen und versuchen, einen Hauptblocker für das Projekt zu finden.
CiviCRM verwendet Symfony seit einiger Zeit und die enthaltene Version unterscheidet sich von der mit Drupal gelieferten Version.
Wir können CiviCRM mit Drupal 8 installieren, aber nachdem Sie es installiert haben, können wir kein anderes Drupal-Modul mehr installieren.
Ich glaube, es läuft auf eine Situation hinaus, in der die CiviCRM-Version von Symfony vor der Drupal-Version geladen wird, was zu Problemen führt.
Kennt jemand ein Drupal 8-Modul, das eine andere Version von Symfony enthält als das, das mit Drupal geliefert wird?
Kürzlich bin ich auf das Ludwig-Projekt gestoßen. Dieses Modul ermöglicht die Registrierung von Namespaces in einer Klasse, die erweitert wirdServiceProviderBase
.
Könnte die Drupal 8-Version des CiviCRM-Moduls eine CivicrmServiceProvider.php-Datei enthalten, die eine CivicrmServiceProvider
Klasse definiert , und eine register()
Methode, die einen Containernamensraum hinzufügt, damit dies funktioniert?
Viele CiviCRM-Dateien enthalten use
Anweisungen wie Drupal, die mit Symfony beginnen, wie hier .
Wir legen CiviCRM Core tatsächlich im Drupal-Ordner doc_root / libraries ab und verwenden das Bibliotheksmodul.
Dies ist das Repo für die CiviCRM Drupal Modul 8.x Version , wenn jemand schauen möchte, was wir bisher haben. Wenn jemand das magische Elixier dafür hat, kann ich Ihnen sagen, dass es in unserer Gemeinde viele glückliche Menschen geben würde. Wenn Sie also wissen, wie Sie uns helfen können, tun Sie dies bitte.
CiviCRM wird installiert und die CiviCRM-Seiten funktionieren. Was nicht funktioniert ist, dass wir nach der Installation von CiviCRM keine weiteren Module über die Seite admin / modules installieren können. Soweit ich weiß, ist das das einzige, was kaputt ist. Auch die Installation von Modulen mit Drush nach der Installation von CiviCRM funktioniert.
Der Versuch, ein anderes Modul nach der Installation von CiviCRM zu installieren, führt zu folgendem Fehler:
Schwerwiegender PHP-Fehler: Rufen Sie die undefinierte Methode Symfony \ Component \ DependencyInjection \ Definition :: setFactory () in /var/www/html/civi-for-d8/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php in Zeile 206 auf
Das ist in Drupal 8.3.5. Der Versuch, CiviCRM für Drupal 8 in einer sauberen Drupal 8.4-dev-Instanz zu installieren, führt zu folgendem Fehler:
Drupal \ Component \ Serialization \ Exception \ InvalidDataTypeException: Der reservierte Indikator "@" kann keinen einfachen Skalar starten. Sie müssen den Skalar in Zeile 8 (in der Nähe von "arguments: [@string_translation, @ civicrm.page_state]") angeben. in Drupal \ Component \ Serialization \ YamlSymfony :: decode () (Zeile 40 von /var/www/html/drupal84/core/lib/Drupal/Component/Serialization/YamlSymfony.php).