Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll
25/04/2020, by maria

Menu

Добавьте следующий метод в класс 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.