Puncte:0

Pluginul de blocare personalizat nu apare în opțiunile Layout Builder

drapel in

Nou în Layout Builder - am creat un plugin de bloc personalizat care redă un formular personalizat. Când merg la o pagină cu Layout Builder și încerc să adaug acel bloc... nu este în lista de blocuri.

/**
 * Oferă un bloc de formulare.
 *
 * @Bloc(
 * id = „blocul_meu”,
 * admin_label = @Translation ("Blocul meu cu formular"),
 * categorie = @Translation(„Personalizat”)
 * )
 */
clasa MyBlock extinde BlockBase implementează ContainerFactoryPluginInterface {

  /**
   * Generatorul de formulare.
   *
   * @var \Drupal\Core\Form\FormBuilderInterface
   */
  protejat $formBuilder;

  /**
   * Construiește o nouă instanță MyBlock.
   *
   * @param array $configurare
   * Configurația pluginului, adică o matrice cu valori de configurare introduse
   * după numele opțiunii de configurare. Tasta specială „context” poate fi folosită pentru
   * inițializați contextele definite setându-le la o matrice de context
   * valori tastate de nume de context.
   * @param șir $plugin_id
   * Plugin_id-ul pentru instanța de plugin.
   * @param mixat $plugin_definition
   * Definiția implementării pluginului.
   * @param \Drupal\Core\Form\FormBuilderInterface $form_builder
   * Generatorul de formulare.
   */
  funcția publică __construct(matrice $configurație, $plugin_id, $plugin_definition, FormBuilderInterface $form_builder) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->formBuilder = $form_builder;
  }

  /**
   * {@inheritdoc}
   */
  funcția publică statică create(ContainerInterface $container, matrice $configurație, $plugin_id, $plugin_definition) {
    returnează static nou (
      $configurare,
      $plugin_id,
      $plugin_definition,
      $container->get('form_builder')
    );
  }

  /**
   * {@inheritdoc}
   */
  public function build() {
    $build['access_form'] = $this->formBuilder->getForm('Drupal\mymodule\Form\MyForm');
    returnează $build;
  }

}

Trebuie să adaug ceva la adnotare sau la clasă pentru a face din aceasta o opțiune pentru Layout Builder? Funcționează bine ca un bloc Drupal normal.

edit: observ că într-un modul personalizat aleatoriu, trebuie să modifice Layout Builder pentru a obține această funcționalitate. Este corect??

https://git.drupalcode.org/project/layout_builder_block/-/blob/1.x/src/EventSubscriber/LayoutBuilderBlockAddControllerSubscriber.php

Puncte:1
drapel in

Acest proiect are Browser pentru Layout Builder instalat. După ce ați adăugat acel bloc la o categorie, acum este o opțiune în Layout Builder. Nucleul Drupal pare să recunoască doar blocurile block_content.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.