Je voudrais afficher un nœud comme un bloc dans Drupal 8, mais je ne sais pas comment faire cela. Je sais dans Drupal 7 je pouvais Utilisez le module NodeBlock pour accomplir cette tâche, mais il n'y a pas de Drupal 8 de celui-ci (et on dirait qu'il n'y aura jamais).
Cela peut-il être accompli en utilisant un autre module que je ne suis pas au courant?
Vous pouvez ajouter un fichier à votre module à src/Plugin/Block/YourBlock.php
namespace Drupal\your_module\Plugin\Block;
use Drupal\Core\Block\BlockBase;
/**
* Provides a block.
* @Block(
* id = "your_block",
* admin_label = @Translation("YourBlock")
* )
*/
class YourBlock extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
$nid = 2;
$entity_type = 'node';
$view_mode = 'teaser';
$view_builder = \Drupal::entityTypeManager()->getViewBuilder($entity_type);
$storage = \Drupal::entityManager()->getStorage($entity_type);
$node = $storage->load($nid);
$build = $view_builder->view($node, $view_mode);
return $build;
}
...
J'en suis sûr avec un petit effort que vous pouvez continuer en utilisant blockform, blocksubmit pour définir le nœud ID/TYPE/VIEW_MODE, etc.