logo

Palette - Make it Colorful🎨

Palette - Visual Page Builder, no design degree required.

Live Demo Download Palette

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']);

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