public function BlazyAdminExtended::fieldableForm in Blazy 8
Same name and namespace in other branches
- 8.2 src/Dejavu/BlazyAdminExtended.php \Drupal\blazy\Dejavu\BlazyAdminExtended::fieldableForm()
Returns re-usable fieldable formatter form elements.
File
- src/
Dejavu/ BlazyAdminExtended.php, line 48
Class
- BlazyAdminExtended
- Provides re-usable admin functions, or form elements.
Namespace
Drupal\blazy\DejavuCode
public function fieldableForm(array &$form, $definition = []) {
if (isset($definition['images'])) {
$form['image'] = [
'#type' => 'select',
'#title' => $this
->t('Main stage'),
'#options' => is_array($definition['images']) ? $definition['images'] : [],
'#description' => $this
->t('Main background/stage image field.'),
'#prefix' => '<h3 class="form__title form__title--fields">' . $this
->t('Fields') . '</h3>',
];
}
if (isset($definition['thumbnails'])) {
$form['thumbnail'] = [
'#type' => 'select',
'#title' => $this
->t('Thumbnail image'),
'#options' => is_array($definition['thumbnails']) ? $definition['thumbnails'] : [],
'#description' => $this
->t('Leave empty to not use thumbnail pager.'),
];
}
if (isset($definition['overlays'])) {
$form['overlay'] = [
'#type' => 'select',
'#title' => $this
->t('Overlay media'),
'#options' => is_array($definition['overlays']) ? $definition['overlays'] : [],
'#description' => $this
->t('Overlay is displayed over the main stage.'),
];
}
if (isset($definition['titles'])) {
$form['title'] = [
'#type' => 'select',
'#title' => $this
->t('Title'),
'#options' => is_array($definition['titles']) ? $definition['titles'] : [],
'#description' => $this
->t('If provided, it will bre wrapped with H2.'),
];
}
if (isset($definition['links'])) {
$form['link'] = [
'#type' => 'select',
'#title' => $this
->t('Link'),
'#options' => is_array($definition['links']) ? $definition['links'] : [],
'#description' => $this
->t('Link to content: Read more, View Case Study, etc.'),
];
}
if (isset($definition['classes'])) {
$form['class'] = [
'#type' => 'select',
'#title' => $this
->t('Item class'),
'#options' => is_array($definition['classes']) ? $definition['classes'] : [],
'#description' => $this
->t('If provided, individual item will have this class, e.g.: to have different background with transparent images. Be sure its formatter is Key or Label. Accepted field types: list text, string (e.g.: node title), term/entity reference label.'),
'#weight' => 6,
];
}
if (!empty($definition['id'])) {
$form['id'] = [
'#type' => 'textfield',
'#title' => $this
->t('@namespace ID', [
'@namespace' => $definition['namespace'],
]),
'#size' => 40,
'#maxlength' => 255,
'#field_prefix' => '#',
'#enforced' => TRUE,
'#description' => $this
->t("Manually define the container ID. <em>This ID is used for the cache identifier, so be sure it is unique</em>. Leave empty to have a guaranteed unique ID managed by the module."),
'#weight' => 94,
];
}
if (isset($form['caption'])) {
$form['caption']['#description'] = $this
->t('Enable any of the following fields as captions. These fields are treated and wrapped as captions.');
}
if (empty($definition['id'])) {
if (isset($form['caption'])) {
$form['caption']['#description'] .= ' ' . $this
->t('Be sure to make them visible at their relevant Manage display.');
}
}
else {
if (isset($form['overlay'])) {
$form['overlay']['#description'] .= ' ' . $this
->t('Be sure to CHECK "Use field template" under its formatter if using Slick field formatter.');
}
}
}