Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Отправление (Submit) конфигурационной формы блока

25/04/2020, by maria

Добавьте следующий метод в класс HelloBlock. В этом примере он находится в файле src/Plugin/Block/HelloBlock.php, но, как вы начинаете думать в более ООП-режиме, где он физически расположен в файловой структуре, он менее важен, чем в пространстве имен. Если вы очень умный OO-программист, вы держите две вещи очень тесно выровненными. Но на всякий случай это фактически пространство имен, очень похожее на имя папки модуля и имя машины для нашего обсуждения модуля ранее в этом разделе, которое будет важно позже, когда вы захотите программно взаимодействовать с кодом вашего модуля.

  /**
   * {@inheritdoc}
   */
  public function blockSubmit($form, FormStateInterface $form_state) {
    $this->configuration['hello_block_name'] = $form_state->getValue('hello_block_name');
  }

Если у вас есть обертка fieldset вокруг элементов формы, вам следует передать массив в функцию getValue () вместо того, чтобы передавать только имя поля. Здесь myfieldset - это набор полей, который оборачивает поле hello_block_name.

$this->configuration['hello_block_name'] = $form_state->getValue(['myfieldset', 'hello_block_name']);

Добавление этого кода будет означать, что форма будет обрабатываться, и входные данные для формы будут сохранены в конфигурации для этого экземпляра блока, независимо от других экземпляров блока. Однако, блок все еще не использует результаты изменения конфигурации. Это на следующей странице книги.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.