public BlockContentForm::form(array $form, FormStateInterface $form_state)
Gets the actual form array to be built.
Overrides ContentEntityForm::form
See also
\Drupal\Core\Entity\EntityForm::processForm()
\Drupal\Core\Entity\EntityForm::afterBuild()
File
- core/modules/block_content/src/BlockContentForm.php, line 100
Class
- BlockContentForm
- Form handler for the custom block edit forms.
Namespace
Drupal\block_content
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | public function form( array $form , FormStateInterface $form_state ) { $block = $this ->entity; $account = $this ->currentUser(); if ( $this ->operation == 'edit' ) { $form [ '#title' ] = $this ->t( 'Edit custom block %label' , array ( '%label' => $block ->label())); } // Override the default CSS class name, since the user-defined custom block // type name in 'TYPE-block-form' potentially clashes with third-party class // names. $form [ '#attributes' ][ 'class' ][0] = 'block-' . Html::getClass( $block ->bundle()) . '-form' ; $form [ 'advanced' ] = array ( '#type' => 'vertical_tabs' , '#weight' => 99, ); // Add a log field if the "Create new revision" option is checked, or if the // current user has the ability to check that option. $form [ 'revision_information' ] = array ( '#type' => 'details' , '#title' => $this ->t( 'Revision information' ), // Open by default when "Create new revision" is checked. '#open' => $block ->isNewRevision(), '#group' => 'advanced' , '#attributes' => array ( 'class' => array ( 'block-content-form-revision-information' ), ), '#attached' => array ( 'library' => array ( 'block_content/drupal.block_content' ), ), '#weight' => 20, '#access' => $block ->isNewRevision() || $account ->hasPermission( 'administer blocks' ), ); $form [ 'revision_information' ][ 'revision' ] = array ( '#type' => 'checkbox' , '#title' => $this ->t( 'Create new revision' ), '#default_value' => $block ->isNewRevision(), '#access' => $account ->hasPermission( 'administer blocks' ), ); // Check the revision log checkbox when the log textarea is filled in. // This must not happen if "Create new revision" is enabled by default, // since the state would auto-disable the checkbox otherwise. if (! $block ->isNewRevision()) { $form [ 'revision_information' ][ 'revision' ][ '#states' ] = array ( 'checked' => array ( 'textarea[name="revision_log"]' => array ( 'empty' => FALSE), ), ); } $form [ 'revision_information' ][ 'revision_log' ] = array ( '#type' => 'textarea' , '#title' => $this ->t( 'Revision log message' ), '#rows' => 4, '#default_value' => $block ->getRevisionLog(), '#description' => $this ->t( 'Briefly describe the changes you have made.' ), ); return parent::form( $form , $form_state , $block ); } |
Please login to continue.