Invio (Submit) del form di configurazione del blocco
Aggiungete il seguente metodo alla classe HelloBlock. In questo esempio si trova nel file src/Plugin/Block/HelloBlock.php, ma, man mano che iniziate a pensare in una modalità più orientata agli oggetti, la posizione fisica nella struttura delle cartelle è meno importante rispetto allo spazio dei nomi. Se siete programmatori OO molto attenti, terrete queste due cose strettamente allineate. Ma in ogni caso è proprio lo spazio dei nomi, molto simile al nome della cartella del modulo e al machine name del nostro modulo di cui abbiamo parlato in precedenza in questa sezione, che sarà importante in seguito quando vorrete interagire programmaticamente con il codice del vostro modulo.
/** * {@inheritdoc} */ public function blockSubmit($form, FormStateInterface $form_state) { $this->configuration['hello_block_name'] = $form_state->getValue('hello_block_name'); }
Se avete un fieldset che racchiude gli elementi del form, dovreste passare un array alla funzione getValue() invece di passare solo il nome del campo. Qui myfieldset è il fieldset che racchiude il campo hello_block_name.
$this->configuration['hello_block_name'] = $form_state->getValue(['myfieldset', 'hello_block_name']);
Aggiungere questo codice significherà che il form verrà elaborato e l’input del form verrà salvato nella configurazione per questa istanza del blocco, indipendentemente dalle altre istanze del blocco. Tuttavia, il blocco non utilizza ancora i risultati della modifica della configurazione. Questo lo vedremo nella pagina successiva del manuale.