Dodanie bloku do modułu w Drupalu 8
Pokażę jak programowo dodać blok w module. Więcej na temat podstaw tworzenia modułu w Drupalu 8. Dziś będziemy rozbudowywać poprzedni moduł.
<?php
namespace Drupal\first_module\Plugin\Block;
use Drupal\Core\Block\BlockBase;
class HelloBlock extends BlockBase {
}
Kolejną nową koncepcją w Drupalu, której musimy użyć w przypadku bloku, są Adnotacje (Ci co mieli do czynienia z Symfony 4 zapewne
wiedzą o co chodzi).
Aby Drupal mógł znaleźć Twój kod blokowy, musisz zaimplementować komentarz do kodu w określony sposób, zwany Adnotacją.
Dodaj komentarz do klasy tak jak na listingu poniżej.
namespace Drupal\first_module\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides a 'Hello' Block
*
* @Block(
* id = "hello_block",
* admin_label = @Translation("Hello block"),
* )
*/
class HelloBlock extends BlockBase {
}
Następnie musimy odziedziczyć komentarze po klase bazowej oraz dodać metodę build, która zwróci zawartość bloku.
class HelloBlock extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
return array(
'#markup' => $this->t('Hello, World!'),
);
}
}
Teraz musisz wyczyścić pamięć podręczną. Aby dodać blok do regionu, przejdź do strony administratora bloków.
