Envío (Submit) del formulario de configuración del bloque
Agregue el siguiente método a la clase HelloBlock. En este ejemplo, se encuentra en el archivo src/Plugin/Block/HelloBlock.php, pero, a medida que comienza a pensar en un modo más orientado a objetos, la ubicación física en la estructura de archivos es menos importante que el espacio de nombres. Si usted es un programador OO muy inteligente, mantiene estas dos cosas muy alineadas. Pero por si acaso, el espacio de nombres es muy similar al nombre de la carpeta del módulo y al nombre de la máquina para nuestro módulo, lo que será importante más adelante cuando desee interactuar programáticamente con el código de su módulo.
/** * {@inheritdoc} */ public function blockSubmit($form, FormStateInterface $form_state) { $this->configuration['hello_block_name'] = $form_state->getValue('hello_block_name'); }
Si tiene un fieldset envolviendo los elementos del formulario, debe pasar un array a la función getValue() en lugar de solo el nombre del campo. Aquí, myfieldset es el conjunto de campos que envuelve el campo hello_block_name.
$this->configuration['hello_block_name'] = $form_state->getValue(['myfieldset', 'hello_block_name']);
Agregar este código hará que el formulario sea procesado y que los datos ingresados se guarden en la configuración para esa instancia específica del bloque, sin afectar otras instancias del bloque. Sin embargo, el bloque aún no utiliza los resultados de los cambios en la configuración. Eso se verá en la próxima página del libro.
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.