diff --git a/core/modules/search/src/Plugin/Block/SearchBlock.php b/core/modules/search/src/Plugin/Block/SearchBlock.php index cb105532d5..580ae123a5 100644 --- a/core/modules/search/src/Plugin/Block/SearchBlock.php +++ b/core/modules/search/src/Plugin/Block/SearchBlock.php @@ -4,6 +4,7 @@ use Drupal\Core\Access\AccessResult; use Drupal\Core\Block\BlockBase; +use Drupal\Core\Form\FormBuilderInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\Core\Session\AccountInterface; @@ -22,6 +23,13 @@ */ class SearchBlock extends BlockBase implements ContainerFactoryPluginInterface { + /** + * The form builder. + * + * @var \Drupal\Core\Form\FormBuilderInterface + */ + protected $formBuilder; + /** * The search page repository. * @@ -32,11 +40,20 @@ class SearchBlock extends BlockBase implements ContainerFactoryPluginInterface { /** * Constructs a new SearchLocalTask. * + * @param array $configuration + * A configuration array containing information about the plugin instance. + * @param string $plugin_id + * The plugin ID for the plugin instance. + * @param mixed $plugin_definition + * The plugin implementation definition. + * @param \Drupal\Core\Form\FormBuilderInterface $form_builder + * The form builder. * @param \Drupal\search\SearchPageRepositoryInterface $search_page_repository * The search page repository. */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, SearchPageRepositoryInterface $search_page_repository) { + public function __construct(array $configuration, $plugin_id, $plugin_definition, FormBuilderInterface $form_builder, SearchPageRepositoryInterface $search_page_repository) { parent::__construct($configuration, $plugin_id, $plugin_definition); + $this->formBuilder = $form_builder; $this->searchPageRepository = $search_page_repository; } @@ -45,6 +62,7 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static($configuration, $plugin_id, $plugin_definition, + $container->get('form_builder'), $container->get('search.search_page_repository') ); } @@ -61,7 +79,7 @@ protected function blockAccess(AccountInterface $account) { */ public function build() { $page = $this->configuration['search_page'] ?? NULL; - return \Drupal::formBuilder()->getForm(SearchBlockForm::class, $page); + return $this->formBuilder->getForm(SearchBlockForm::class, $page); } /**