function ThemeController::uninstall
Same name and namespace in other branches
- 11.x core/modules/system/src/Controller/ThemeController.php \Drupal\system\Controller\ThemeController::uninstall()
- 10 core/modules/system/src/Controller/ThemeController.php \Drupal\system\Controller\ThemeController::uninstall()
- 9 core/modules/system/src/Controller/ThemeController.php \Drupal\system\Controller\ThemeController::uninstall()
- 8.9.x core/modules/system/src/Controller/ThemeController.php \Drupal\system\Controller\ThemeController::uninstall()
Uninstalls a theme.
Parameters
string $theme: The theme name.
Return value
\Symfony\Component\HttpFoundation\RedirectResponse Redirects back to the appearance admin page.
1 string reference to 'ThemeController::uninstall'
- system.routing.yml in core/
modules/ system/ system.routing.yml - core/modules/system/system.routing.yml
File
-
core/
modules/ system/ src/ Controller/ ThemeController.php, line 70
Class
- ThemeController
- Controller for theme handling.
Namespace
Drupal\system\ControllerCode
public function uninstall(#[MapQueryParameter] string $theme) {
$config = $this->config('system.theme');
// Get current list of themes.
$themes = $this->themeHandler
->listInfo();
// Check if the specified theme is one recognized by the system.
if (!empty($themes[$theme])) {
// Do not uninstall the default or admin theme.
if ($theme === $config->get('default') || $theme === $config->get('admin')) {
$this->messenger()
->addError($this->t('%theme is the default theme and cannot be uninstalled.', [
'%theme' => $themes[$theme]->info['name'],
]));
}
else {
$this->themeInstaller
->uninstall([
$theme,
]);
$this->messenger()
->addStatus($this->t('The %theme theme has been uninstalled.', [
'%theme' => $themes[$theme]->info['name'],
]));
}
}
else {
$this->messenger()
->addError($this->t('The %theme theme was not found.', [
'%theme' => $theme,
]));
}
return $this->redirect('system.themes_page');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.