Saya seorang pengembang dan pemelihara untuk proyek CiviCRM. Kami telah mencoba untuk membuat CiviCRM versi Drupal 8, dan telah berhasil. Kami memukul kepala kami dengan keyboard kolektif kami mencoba mencari penghalang utama untuk proyek ini.
CiviCRM telah menggunakan Symfony untuk sementara waktu, dan versi yang disertakan berbeda dari apa yang dikirimkan dengan Drupal.
Kita dapat menginstal CiviCRM dengan Drupal 8, tetapi setelah Anda menginstalnya, kami tidak dapat menginstal modul Drupal lainnya.
Saya percaya ini bermuara pada situasi di mana entah bagaimana versi CiviCRM dari Symfony dimuat sebelum versi Drupal, dan ini menyebabkan masalah.
Adakah yang tahu tentang modul Drupal 8 yang menyertakan versi Symfony yang berbeda dari modul yang dikirimkan bersama Drupal?
Baru-baru ini saya berlari melintasi proyek Ludwig. Modul ini memungkinkan pendaftaran ruang nama di kelas yang diperluasServiceProviderBase
.
Apakah mungkin untuk versi Drupal 8 dari modul CiviCRM untuk menyertakan file CivicrmServiceProvider.php, yang mendefinisikan CivicrmServiceProvider
kelas, dan register()
metode yang menambahkan namespace wadah untuk memungkinkan ini berfungsi?
Banyak file CiviCRM memiliki use
pernyataan seperti Drupal yang dimulai dengan Symfony, seperti di sini .
Kami benar-benar memasukkan CiviCRM Core ke folder Drupal doc_root / libraries, dan menggunakan modul libraries.
Ini adalah repo untuk modul 8.vi CiviCRM Drupal modul , jika seseorang ingin melihat apa yang kami dapatkan sejauh ini. Jika seseorang memiliki ramuan ajaib untuk ini, saya dapat memberitahu Anda akan ada banyak orang bahagia di komunitas kami. Jadi, jika Anda tahu cara membantu kami, silakan lakukan.
CiviCRM menginstal, dan halaman CiviCRM berfungsi. Yang tidak berfungsi adalah bahwa setelah CiviCRM diinstal, kami tidak dapat menginstal modul lain melalui halaman admin / modul. Sejauh yang saya tahu itulah satu-satunya hal yang rusak. Juga memasang modul dengan Drush, setelah menginstal CiviCRM, tidak berfungsi.
Mencoba menginstal modul lain setelah CiviCRM diinstal menyebabkan kesalahan berikut:
Kesalahan PHP fatal: Panggilan ke metode yang tidak ditentukan Symfony \ Component \ DependencyInjection \ Definition :: setFactory () di /var/www/html/civi-for-d8/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php pada baris 206
Itu dalam Drupal 8.3.5. Mencoba menginstal CiviCRM untuk Drupal 8 ke dalam instance Drupal 8.4-dev yang bersih menyebabkan kesalahan berikut:
Drupal \ Component \ Serialization \ Exception \ InvalidDataTypeException: Indikator yang dicadangkan "@" tidak dapat memulai skalar biasa; Anda perlu mengutip skalar di baris 8 (dekat "argumen: [@string_translation, @ civicrm.page_state]"). dalam Drupal \ Component \ Serialization \ YamlSymfony :: decode () (baris 40 dari /var/www/html/drupal84/core/lib/Drupal/Component/Serialization/YamlSymfony.php).