Bamboo Twig를 통해 Drupal Paragraphs 항목의 값을 사용자 정의 모듈의 양식으로 전달

직장에서 저는 처음으로 Pattern Lab 및 구성 요소 기반 디자인을 사용하기로 결정한 새 프로젝트에 참여하고 있습니다. 정말 잘되고 있고 많이 배우고 있어요. 프론트 엔드 개발자로서 Drupal에서 오는 마크 업을 마침내 제어하고 Drupal의 기본 마크 업을 다음과 같이 보이게 만들기 위해 CSS와 JS를 사용하는 방법을 생각하는 것보다 Drupal이 데이터를 전달하는 구성 요소에 대해 생각하는 것이 좋습니다. 디자인.

이 프로젝트에서는 가능한 한 적은 수의 사용자 지정 코드를 사용하고 가능한 한 Core 및 Contrib을 사용하는 데 집중하고 있습니다. #lowcode #nocode

최근에는 단락 안에 검색 양식을 표시하고 단락의 일부 옵션을 양식으로 전달하는 방법이 필요했습니다. 검색 입력에 대한 자리 표시 자로 사용할 문자열과 전체 사이트 검색과 사이트 하위 집합 검색 사이에서 양식의 작업을 전환하는 플래그를 전달해야했습니다. 방법은 다음과 같습니다.

처음부터 검색 양식을 작성하지 않고 쉽게 만들 수있는 방법을 원했기 때문에 Core에서 제공하는 SearchBlockForm 을 확장했습니다.

$ parameters 라는 buildForm 함수에 세 번째 매개 변수를 추가했습니다. 이를 사용하여 Paragraph 항목과 양식간에 일부 데이터를 전달할 수 있습니다.

getFormId 메소드를 무시하고 새 양식에 ID를 부여했기 때문에이 특정 양식에 대한 Twig 템플릿 제안을 만들 수 있습니다. 이 ID가 없으면 Core 검색 양식에 대한 템플릿 제안 만 있었을 것입니다. 스타일링을 원하지 않을 수도 있습니다. 이제 ‘검색 배너’단락에 대한 템플릿을 만들 수 있습니다.

Trig Field Value를 사용하여 제목 및 요약 필드를 검색 창 유기체와 SearchBannerForm 에 노출합니다. 더 중요한 것은 양식이 Bamboo Twig를 통해 렌더링되고 있다는 것입니다.이를 통해 Paragraph 항목 템플릿의 데이터 개체를 이전에 만든 buildForm 함수로 전달할 수 있습니다. 너무 복잡해 지거나 사용자 정의 모듈 코드를 너무 많이 작성하지 않고도 데이터를 전달할 수있는 정말 멋진 방법입니다.

Bamboo Twig는 더 많은 일을 할 수 있으며 Twig Tweak과 같은 모듈을 대체 할 수 있습니다.