function _webform_token_render_more in Webform 8.5
Same name and namespace in other branches
- 6.x webform.tokens.inc \_webform_token_render_more()
Render webform more element (slideouts) for token descriptions.
Parameters
string $more_title: More title.
string $more: More content.
Return value
string Rendered webform more element.
2 calls to _webform_token_render_more()
- webform_token_info in ./
webform.tokens.inc - Implements hook_token_info().
- webform_token_info_alter in ./
webform.module - Implements hook_token_info_alter().
File
- ./
webform.tokens.inc, line 1100 - Builds placeholder replacement tokens for webforms and submissions.
Code
function _webform_token_render_more($more_title, $more) {
$build = [
'#type' => 'webform_more',
'#more' => $more,
'#more_title' => $more_title,
];
// Token info might be called via CLI and not all modules are loaded
// or an active theme is defined.
//
// Prevent the below exceptions:
// - The theme implementations may not be rendered until all modules
// are loaded.
// - Call to a member function setParser() on array in Twig\Parser->parse().
//
// @see \Drupal\Core\Theme\ThemeManager::render
/** @var \Drupal\Core\Extension\ModuleHandlerInterface $module_handler */
$module_handler = \Drupal::service('module_handler');
/** @var \Drupal\webform\WebformThemeManagerInterface $theme_manager */
$theme_manager = \Drupal::service('webform.theme_manager');
if (!$module_handler
->isLoaded() || !$theme_manager
->hasActiveTheme()) {
return '';
}
return (string) \Drupal::service('renderer')
->renderPlain($build);
}