Drupal 8의 강력한 플러그인 시스템은 재사용 가능한 기능을 갖춘 백엔드 개발자에게 권한을 부여합니다. 이 기사 (두 부분 중 하나) 세부 사항은 노드 엔티티를 사용하여 사용자 정의 양식을 활성화하는 기능을 구축하여 노드 번들의 구성이 노드 디스플레이와 함께 다양한 양식 유형을 활용할 수 있도록합니다. 제공된 기본 클래스를 확장하여 새로운 양식 유형을 쉽게 정의 할 수 있습니다. (완전한 코드 예제는
이 저장소 )를 참조하십시오
주요 개념 :
서비스에 종속성 주입을 사용합니다. 플러그인은 양식 클래스와 상호 작용합니다. 다음 단계는 이러한 양식을 노드 디스플레이와 통합하는 것입니다.
플러그인 관리자 :
플러그인을 발견하고로드하는 데 중요한 플러그인 관리자는 Drupal의 를 확장합니다. 모듈의
<?php namespace Drupal\reusable_forms; use Drupal\Core\Plugin\DefaultPluginManager; use Drupal\Core\Cache\CacheBackendInterface; use Drupal\Core\Extension\ModuleHandlerInterface; class ReusableFormsManager extends DefaultPluginManager { public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, ModuleHandlerInterface $module_handler) { parent::__construct('Plugin/ReusableForm', $namespaces, $module_handler, 'Drupal\reusable_forms\ReusableFormPluginInterface', 'Drupal\reusable_forms\Annotation\ReusableForm'); $this->alterInfo('reusable_forms_info'); $this->setCacheBackend($cache_backend, 'reusable_forms'); } }
플러그인 이름을 반환합니다. getName()
및 buildForm()
를 확장합니다.
플러그인 주석 : Drupalreusable_formsFormReusableFormInterface
PluginInspectionInterface
, ContainerFactoryPluginInterface
및
이것은 를 확장하고, 를 구현하고, 에 대한 종속성 주입을 사용합니다. 및
는 주석에 지정된 양식 클래스를 사용하여 구현됩니다. 형식 인터페이스 및 기본 클래스 :
ReusableForm.php
/src/Annotation
이 첫 번째 부분은 사용자 정의 플러그인 유형을 설정하여 양식 클래스와의 통합을 준비합니다. 파트 2는 노드 유형 구성을 포함하고 컨텐츠보기 모드 내에서 렌더링을 포함하는 노드로 이러한 양식을 표시합니다.
위 내용은 Drupal 8 사용자 정의 플러그인 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!