function _webform_theme_suggestions in Webform 6.x
Same name and namespace in other branches
- 8.5 includes/webform.theme.inc \_webform_theme_suggestions()
Provides alternate named suggestions for a specific theme hook.
Parameters
array $variables: An array of variables passed to the theme hook.
string $hook: The base hook name.
Return value
array An array of theme suggestions.
18 calls to _webform_theme_suggestions()
- webform_theme_suggestions_webform in includes/
webform.theme.inc - Implements hook_theme_suggestions_HOOK().
- webform_theme_suggestions_webform_confirmation in includes/
webform.theme.inc - Implements hook_theme_suggestions_HOOK().
- webform_theme_suggestions_webform_container_base_html in includes/
webform.theme.inc - Implements hook_theme_suggestions_HOOK().
- webform_theme_suggestions_webform_container_base_text in includes/
webform.theme.inc - Implements hook_theme_suggestions_HOOK().
- webform_theme_suggestions_webform_element_base_html in includes/
webform.theme.inc - Implements hook_theme_suggestions_HOOK().
File
- includes/
webform.theme.inc, line 975 - Theme hooks, preprocessor, and suggestions.
Code
function _webform_theme_suggestions(array $variables, $hook) {
$suggestions = [];
if ($hook === 'webform' && isset($variables['element']) && isset($variables['element']['#webform_id'])) {
$suggestions[] = $hook . '__' . $variables['element']['#webform_id'];
}
elseif ($hook === 'webform_submission_form' && isset($variables['form']) && isset($variables['form']['#webform_id'])) {
$suggestions[] = $hook . '__' . $variables['form']['#webform_id'];
}
elseif (strpos($hook, 'webform_element_base_') === 0 || strpos($hook, 'webform_container_base_') === 0) {
$element = $variables['element'];
if (!empty($element['#type'])) {
$type = $element['#type'];
$name = $element['#webform_key'];
$suggestions[] = $hook . '__' . $type;
$suggestions[] = $hook . '__' . $type . '__' . $name;
}
}
else {
$webform = NULL;
$webform_submission = NULL;
$sanitized_view_mode = NULL;
if (isset($variables['elements']) && isset($variables['elements']['#webform_submission'])) {
/** @var \Drupal\webform\WebformSubmissionInterface $webform_submission */
$webform_submission = $variables['elements']['#webform_submission'];
$webform = $webform_submission
->getWebform();
$sanitized_view_mode = strtr($variables['elements']['#view_mode'], '.', '_');
}
elseif (isset($variables['webform_submission'])) {
/** @var \Drupal\webform\WebformSubmissionInterface $webform_submission */
$webform_submission = $variables['webform_submission'];
$webform = $webform_submission
->getWebform();
}
elseif (isset($variables['webform'])) {
/** @var \Drupal\webform\WebformInterface $webform */
$webform = $variables['webform'];
}
if ($webform) {
$suggestions[] = $hook . '__' . $webform
->id();
if (isset($variables['handler'])) {
/** @var \Drupal\webform\Plugin\WebformHandlerInterface $handler */
$handler = $variables['handler'];
$suggestions[] = $hook . '__' . $webform
->id() . '__' . $handler
->getPluginId();
$suggestions[] = $hook . '__' . $webform
->id() . '__' . $handler
->getPluginId() . '__' . $handler
->getHandlerId();
}
if ($sanitized_view_mode) {
$suggestions[] = $hook . '__' . $webform
->id() . '__' . $sanitized_view_mode;
$suggestions[] = $hook . '__' . $sanitized_view_mode;
}
}
}
return $suggestions;
}