Skip to content
Snippets Groups Projects
Verified Commit 0ba6b793 authored by Dave Long's avatar Dave Long
Browse files

Issue #3192830 by neclimdul: twig_render_template micro optimization

parent abbe5db1
No related branches found
No related tags found
28 merge requests!11131[10.4.x-only-DO-NOT-MERGE]: Issue ##2842525 Ajax attached to Views exposed filter form does not trigger callbacks,!9470[10.3.x-only-DO-NOT-MERGE]: #3331771 Fix file_get_contents(): Passing null to parameter,!8736Update the Documention As per the Function uses.,!8540Issue #3457061: Bootstrap Modal dialog Not closing after 10.3.0 Update,!8528Issue #3456871 by Tim Bozeman: Support NULL services,!8513Issue #3453786: DefaultSelection should document why values for target_bundles NULL and [] behave as they do,!8373Issue #3427374 by danflanagan8, Vighneshh: taxonomy_tid ViewsArgumentDefault...,!8126Added escape fucntionality on admintoolbar close icon,!3878Removed unused condition head title for views,!3818Issue #2140179: $entity->original gets stale between updates,!3742Issue #3328429: Create item list field formatter for displaying ordered and unordered lists,!3731Claro: role=button on status report items,!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3133core/modules/system/css/components/hidden.module.css,!2964Issue #2865710 : Dependencies from only one instance of a widget are used in display modes,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2062Issue #3246454: Add weekly granularity to views date sort,!1105Issue #3025039: New non translatable field on translatable content throws error,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!877Issue #2708101: Default value for link text is not saved,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493
Pipeline #194029 canceled
......@@ -29,14 +29,8 @@ function twig_extension() {
function twig_render_template($template_file, array $variables) {
/** @var \Twig\Environment $twig_service */
$twig_service = \Drupal::service('twig');
$output = [
'debug_prefix' => '',
'debug_info' => '',
'rendered_markup' => '',
'debug_suffix' => '',
];
try {
$output['rendered_markup'] = $twig_service->load($template_file)->render($variables);
$rendered_markup = $twig_service->load($template_file)->render($variables);
}
catch (RuntimeError $e) {
// In case there is a previous exception, re-throw the previous exception,
......@@ -49,6 +43,13 @@ function twig_render_template($template_file, array $variables) {
throw $e;
}
if ($twig_service->isDebug()) {
$output = [
'debug_prefix' => '',
'debug_info' => '',
'rendered_markup' => $rendered_markup,
'debug_suffix' => '',
];
$output['debug_prefix'] .= "\n\n<!-- THEME DEBUG -->";
$output['debug_prefix'] .= "\n<!-- THEME HOOK: '" . Html::escape($variables['theme_hook_original']) . "' -->";
// If there are theme suggestions, reverse the array so more specific
......@@ -110,7 +111,8 @@ function twig_render_template($template_file, array $variables) {
}
$output['debug_info'] .= "\n<!-- " . $template_override_status_output . " from '" . Html::escape($template_file) . "' -->\n";
$output['debug_suffix'] .= "\n<!-- " . $template_override_suffix_output . " from '" . Html::escape($template_file) . "' -->\n\n";
// This output has already been rendered and is therefore considered safe.
return Markup::create(implode('', $output));
}
// This output has already been rendered and is therefore considered safe.
return Markup::create(implode('', $output));
return Markup::create($rendered_markup);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment