public function ViewsAddButtonArea::buildOptionsForm in Views Add Button 8
Same name and namespace in other branches
- 2.0.x src/Plugin/views/area/ViewsAddButtonArea.php \Drupal\views_add_button\Plugin\views\area\ViewsAddButtonArea::buildOptionsForm()
Provide the options form.
Overrides TokenizeAreaPluginBase::buildOptionsForm
File
- src/
Plugin/ views/ area/ ViewsAddButtonArea.php, line 117
Class
- ViewsAddButtonArea
- Defines a views area plugin.
Namespace
Drupal\views_add_button\Plugin\views\areaCode
public function buildOptionsForm(&$form, FormStateInterface $form_state) {
parent::buildOptionsForm($form, $form_state);
$form['type'] = [
'#type' => 'select',
'#title' => t('Entity Type'),
'#options' => $this
->createEntityBundleList(),
'#empty_option' => '- Select -',
'#default_value' => $this->options['type'],
'#weight' => -10,
'#required' => TRUE,
];
$form['render_plugin'] = [
'#type' => 'select',
'#title' => t('Custom Rendering Plugin'),
'#description' => t('If you would like to specify a plugin to use for generating the URL and creating the
link, set it here. Leave unset to use the entity default plugin (recommended).'),
'#options' => $this
->createPluginList(),
'#empty_option' => '- Select -',
'#default_value' => $this->options['render_plugin'],
'#weight' => -10,
];
$form['access_plugin'] = [
'#type' => 'select',
'#title' => t('Custom Access Plugin'),
'#description' => t('If you would like to specify an access plugin to use, set it here.
Leave unset to use the entity default plugin (recommended).'),
'#options' => $this
->createPluginList(),
'#empty_option' => '- Select -',
'#default_value' => $this->options['access_plugin'],
'#weight' => -10,
];
$form['context'] = [
'#type' => 'textfield',
'#title' => t('Entity Context'),
'#description' => t('Certain entities require a special context parameter. Set the context (or relevant
token) here. Check the help for the relevant Views Add Button module for further questions.'),
'#default_value' => $this->options['context'],
'#weight' => -9,
];
$form['button_text'] = [
'#type' => 'textfield',
'#title' => t('Button Text for the add button'),
'#description' => t('Leave empty for the default: "Add [entity_bundle]"'),
'#default_value' => $this->options['button_text'],
'#weight' => -7,
];
$form['query_string'] = [
'#type' => 'textfield',
'#title' => t('Query string to append to the add link'),
'#description' => t('Add the query string, without the "?" .'),
'#default_value' => $this->options['query_string'],
'#weight' => -6,
];
$form['button_classes'] = [
'#type' => 'textfield',
'#title' => t('Button classes for the add link - usually "button" or "btn," with additional styling classes.'),
'#default_value' => $this->options['button_classes'],
'#weight' => -5,
];
$form['button_attributes'] = [
'#type' => 'textarea',
'#title' => t('Additional Button Attributes'),
'#description' => t('Add one attribute string per line, without quotes (i.e. name=views_add_button).'),
'#default_value' => $this->options['button_attributes'],
'#cols' => 60,
'#rows' => 2,
'#weight' => -4,
];
$form['button_access_denied'] = [
'#type' => 'text_format',
'#title' => t('Access Denied HTML'),
'#description' => t('HTML to inject if access is denied.'),
'#cols' => 60,
'#rows' => 2,
'#weight' => -3,
'#default_value' => $this->options['button_access_denied']['value'],
];
$form['button_prefix'] = [
'#type' => 'text_format',
'#title' => t('Prefix HTML'),
'#description' => t('HTML to inject before the button.'),
'#cols' => 60,
'#rows' => 2,
'#weight' => -3,
'#default_value' => $this->options['button_prefix']['value'],
];
$form['button_suffix'] = [
'#type' => 'text_format',
'#title' => t('Suffix HTML'),
'#description' => t('HTML to inject after the button.'),
'#cols' => 60,
'#rows' => 2,
'#weight' => -2,
'#default_value' => $this->options['button_suffix']['value'],
];
$form['destination'] = [
'#type' => 'checkbox',
'#title' => t('Include destination parameter?'),
'#default_value' => $this->options['destination'],
'#weight' => -1,
];
$this
->tokenForm($form, $form_state);
}