ฉันเป็นนักพัฒนาและผู้ดูแลโครงการ CiviCRM เราได้พยายามสร้าง CiviCRM รุ่น Drupal 8 และมาไกล เรากำลังตีหัวของเรากับแป้นพิมพ์ส่วนรวมของเราที่พยายามคิดบล็อกตัวสำคัญสำหรับโครงการ
CiviCRM ใช้ Symfony มาระยะหนึ่งแล้วและเวอร์ชั่นที่รวมไว้นั้นแตกต่างจากรุ่นที่มี Drupal
เราสามารถติดตั้ง CiviCRM ด้วย Drupal 8 ได้ แต่หลังจากที่คุณติดตั้งแล้วเราไม่สามารถติดตั้งโมดูล Drupal อื่น ๆ ได้
ฉันเชื่อว่ามันทำให้สถานการณ์เลวร้ายลงซึ่ง Symfony เวอร์ชั่น CiviCRM โหลดขึ้นก่อนรุ่น Drupal และทำให้เกิดปัญหา
ไม่มีใครรู้เกี่ยวกับโมดูล Drupal 8 ที่มี Symfony เวอร์ชันที่แตกต่างจากโมดูลที่มาพร้อมกับ Drupal
เมื่อเร็ว ๆ นี้ฉันวิ่งข้ามโครงการลุดวิก โมดูลนี้จะช่วยให้การลงทะเบียนของ namespaces ในชั้นเรียนที่ขยายServiceProviderBase
เป็นไปได้ไหมที่โมดูล CiviCRM เวอร์ชัน Drupal 8 จะรวมไฟล์ CivicrmServiceProvider.php ซึ่งกำหนดCivicrmServiceProvider
คลาสและregister()
วิธีการที่เพิ่มเนมสเปซคอนเทนเนอร์เพื่อให้สิ่งนี้ทำงานได้หรือไม่
ไฟล์ CiviCRM หลายคนมีuse
งบเช่น Drupal เริ่มต้นด้วย Symfony ชอบที่นี่
จริงๆแล้วเราใส่ CiviCRM Core ลงในโฟลเดอร์ Drupal doc_root / ไลบรารีและใช้โมดูลไลบรารี
นี่คือ repo สำหรับโมดูล CiviCRM Drupal เวอร์ชั่น 8.xถ้าใครบางคนต้องการดูสิ่งที่เราได้รับจนถึงตอนนี้ หากใครบางคนมีน้ำอมฤตวิเศษสำหรับเรื่องนี้ฉันสามารถบอกคุณได้ว่าจะมีคนที่มีความสุขมากมายในชุมชนของเรา ดังนั้นถ้าคุณรู้วิธีช่วยเราโปรดทำ
CiviCRM ทำการติดตั้งและหน้า CiviCRM ทำงานได้ สิ่งที่ใช้ไม่ได้คือหลังจากติดตั้ง CiviCRM เราไม่สามารถติดตั้งโมดูลอื่น ๆ ผ่านหน้าผู้ดูแลระบบ / โมดูล เท่าที่ฉันรู้ว่าเป็นสิ่งเดียวที่ถูกทำลาย การติดตั้งโมดูลด้วย Drush หลังจากติดตั้ง CiviCRM ก็ใช้งานได้เช่นกัน
การพยายามติดตั้งโมดูลอื่นหลังจากติดตั้ง CiviCRM ทำให้เกิดข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาดร้ายแรงของ PHP: การเรียกไปยังวิธีที่ไม่ได้กำหนด Symfony \ Component \ DependencyInjection \ Definition :: setFactory () ใน /var/www/html/civi-for-d8/core/lib/Drupal/Core/DependencyInject/YamlFileLoader.php ที่บรรทัด 206
ที่อยู่ใน Drupal 8.3.5 การพยายามติดตั้ง CiviCRM สำหรับ Drupal 8 เข้าสู่อินสแตนซ์ Clean Drupal 8.4-dev ทำให้เกิดข้อผิดพลาดต่อไปนี้:
Drupal \ Component \ Serialization \ Exception \ InvalidDataTypeException: ตัวบ่งชี้ที่สงวน "@" ไม่สามารถเริ่มสเกลาร์ธรรมดาได้ คุณต้องเสนอราคาสเกลาร์ที่บรรทัด 8 (ใกล้กับ "อาร์กิวเมนต์: [@string_translation, @ civicrm.page_state]") ใน Drupal \ Component \ Serialization \ YamlSymfony :: decode () (บรรทัดที่ 40 ของ /var/www/html/drupal84/core/lib/Drupal/Component/Serialization/YamlSymfony.php)