function twigsuggest_theme_suggestions_container in Twig Template Suggester 8
Implements hook_theme_suggestions_HOOK() for container templates.
Add suggestions, as by default none are provided.
File
- ./
twigsuggest.module, line 106 - Twig Template Suggester module hook implementations.
Code
function twigsuggest_theme_suggestions_container(array $variables) {
$suggestions = [];
$element = $variables['element'];
// We cannot count on template_preprocess_container having run, so we copy
// its logic here to provide templates for forms (has parents) or not forms.
// Special handling for form elements.
if (isset($element['#array_parents'])) {
$suggestions[] = 'container__has_parent';
}
else {
$suggestions[] = 'container__no_parent';
}
if (isset($element['#type']) && $element['#type'] != 'container') {
$suggestions[] = 'container__' . $element['#type'];
}
if (isset($element['#type']) && $element['#type'] == 'container' && isset($element['children']['#type'])) {
$suggestions[] = 'container__' . $element['children']['#type'];
}
if (isset($element['#type']) && $element['#type'] == 'view') {
$suggestions[] = 'container__view__' . $element['#name'];
$suggestions[] = 'container__view__' . $element['#name'] . '__' . $element['#display_id'];
}
elseif (isset($element['widget'][0]['#type']) && $element['widget'][0]['#type'] === 'managed_file') {
$suggestions[] = 'container__file';
$suggestions[] = 'container__file__' . $element['widget']['#field_name'];
}
// Additional module-specific container templates.
if (isset($element['#group'])) {
$suggestions[] = 'container__' . str_replace('-', '_', $element['#group']);
}
if (isset($element['#webform_key'])) {
$suggestions[] = 'container__' . str_replace('-', '_', $element['#webform_key']);
}
return $suggestions;
}