CiviCRM 프로젝트의 개발자이자 관리자입니다. 우리는 Drupal 8 버전 CiviCRM을 만들려고 노력했으며 먼 길을 왔습니다. 우리는 프로젝트의 주요 차단제를 찾으려고 노력하는 단체 키보드에 대해 머리를 숙이고 있습니다.
CiviCRM은 한동안 Symfony를 사용했으며 포함 된 버전은 Drupal과 함께 제공되는 버전과 다릅니다.
Drupal 8과 함께 CiviCRM을 설치할 수 있지만 설치 한 후에는 다른 Drupal 모듈을 설치할 수 없습니다.
나는 그것이 Drupal 버전 이전에 CifonCRM 버전의 Symfony가 어떻게 든로드되는 상황으로 요약되며 이는 문제를 일으킨다.
Drupal과 함께 제공되는 것과 다른 버전의 Symfony를 포함하는 Drupal 8 모듈에 대해 아는 사람이 있습니까?
최근에 나는 Ludwig 프로젝트를 가로 질러 달렸다. 이 모듈을 사용하면 확장하는 클래스ServiceProviderBase
에 네임 스페이스를 등록 할 수 있습니다 .
Drupal 8 버전의 CiviCRM 모듈에 CivicrmServiceProvider
클래스 를 정의하는 CivicrmServiceProvider.php 파일과이 register()
작업을 수행 할 수 있도록 컨테이너 네임 스페이스를 추가하는 메소드가 포함될 수 있습니까?
많은 CiviCRM 파일에는 use
다음과 같이 Symfony로 시작하는 Drupal과 같은 명령문이 있습니다 .
실제로 CiviCRM Core를 Drupal doc_root / libraries 폴더에 넣고 라이브러리 모듈을 사용합니다.
누군가가 우리가 지금까지 얻은 것을보고 싶다면 CiviCRM Drupal 모듈 8.x 버전의 저장소입니다 . 누군가가 이것을 위해 마법의 비약을 가지고 있다면, 나는 우리 공동체에 많은 행복한 사람들이 있다고 말할 수 있습니다. 도움이 필요하시면 알려주세요.
CiviCRM이 설치되고 CiviCRM 페이지가 작동합니다. 작동하지 않는 것은 CiviCRM을 설치 한 후 관리자 / 모듈 페이지를 통해 다른 모듈을 설치할 수 없다는 것입니다. 내가 아는 한 그것이 깨지는 유일한 것입니다. CiviCRM을 설치 한 후 Drush로 모듈을 설치해도 작동합니다.
CiviCRM을 설치 한 후 다른 모듈을 설치하려고하면 다음 오류가 발생합니다.
PHP 치명적 오류 : 206 행의 /var/www/html/civi-for-d8/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php에서 정의되지 않은 메소드 Symfony \ Component \ DependencyInjection \ Definition :: setFactory () 호출
Drupal 8.3.5에 있습니다. Drupal 8 용 CiviCRM을 깨끗한 Drupal 8.4-dev 인스턴스에 설치하려고하면 다음 오류가 발생합니다.
Drupal \ Component \ Serialization \ Exception \ InvalidDataTypeException : 예약 된 표시기 "@"은 일반 스칼라를 시작할 수 없습니다. 8 행에서 스칼라를 인용해야합니다 ( "인수 : [@string_translation, @ civicrm.page_state]"근처). Drupal \ Component \ Serialization \ YamlSymfony :: decode () (/ var / www / html / drupal84 / core / lib / Drupal / Component / Serialization / YamlSymfony.php의 40 행)