core/modules/system/src/SystemConfigSubscriber.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/modules/system/src/SystemConfigSubscriber.php b/core/modules/system/src/SystemConfigSubscriber.php index 3c0de5f..d08c961 100644 --- a/core/modules/system/src/SystemConfigSubscriber.php +++ b/core/modules/system/src/SystemConfigSubscriber.php @@ -5,6 +5,7 @@ use Drupal\Core\Config\ConfigCrudEvent; use Drupal\Core\Config\ConfigEvents; use Drupal\Core\Config\ConfigImporterEvent; +use Drupal\Core\PhpStorage\PhpStorageFactory; use Drupal\Core\Routing\RouteBuilderInterface; use Drupal\Core\StringTranslation\StringTranslationTrait; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -41,6 +42,10 @@ public function onConfigSave(ConfigCrudEvent $event) { $saved_config = $event->getConfig(); if ($saved_config->getName() == 'system.theme' && ($event->isChanged('admin') || $event->isChanged('default'))) { $this->routerBuilder->setRebuildNeeded(); + // Wipe the Twig PHP Storage cache, to ensure templates that extend or + // include another template use the correct list of candidate templates. + // @see \Drupal\Core\Template\ThemeRegistryNodeVisitor + PhpStorageFactory::get('twig')->deleteAll(); } }