public function BlockContentForm::form in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/block_content/src/BlockContentForm.php \Drupal\block_content\BlockContentForm::form()
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 105 - Contains \Drupal\block_content\BlockContentForm.
Class
- BlockContentForm
- Form controller for the custom block edit forms.
Namespace
Drupal\block_contentCode
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);
}