Բլոկի կարգավորման ֆորմայի ներկայացում (Submit)
Ավելացրեք հետևյալ մեթոդը HelloBlock դասին։ Այս օրինակով այն գտնվում է src/Plugin/Block/HelloBlock.php ֆայլում, բայց ինչպես դուք սկսում եք մտածել ավելի OOP ոճով, ֆիզիկապես ֆայլերի կառուցվածքում դրա գտնվելու վայրը պակաս կարևոր է, քան տարածքի անվանումը։ Եթե դուք շատ խելացի OOP ծրագրավորող եք, դուք երկու բան պահում եք շատ խիստ համընկնում։ Բայց ակնհայտ է, որ իրականում տարածքի անունը շատ նման է մոդուլի պանակի անվանը և մեքենայի անվանը մեր այս բաժնում նախկինում քննարկված մոդուլի համար, և դա կարևոր կլինի ավելի ուշ, երբ ցանկանաք ծրագրային շփում ունենալ ձեր մոդուլի կոդի հետ։
/** * {@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.