Désinstaller les thèmes

Avant d’utiliser cette commande, vous devez connaître le chemin d’accès relatif à votre thème. Les thèmes se trouvent dans un sous-répertoire de <magento_root>/app/design/<area name>. Vous devez spécifier le chemin d’accès au thème commençant par la zone, qui est soit frontend (pour les thèmes de storefront), soit adminhtml (pour les thèmes d’administration).

Par exemple, le chemin d’accès au thème Luma fourni avec Adobe Commerce est frontend/Magento/luma.

Pour plus d’informations sur les thèmes, voir structure de thème.

Présentation des thèmes de désinstallation

Cette section explique comment désinstaller un ou plusieurs thèmes, incluant éventuellement le code des thèmes du système de fichiers. Vous pouvez d’abord créer des sauvegardes afin de pouvoir restaurer les données ultérieurement.

Cette commande désinstalle les thèmes uniquement spécifiés dans composer.json ; en d’autres termes, les thèmes fournis en tant que modules du compositeur. Si votre thème n’est pas un module de compositeur, vous devez le désinstaller manuellement en :

Désinstaller les thèmes

Utilisation des commandes :

bin/magento theme:uninstall [--backup-code] [-c|--clear-static-content] {theme path} ... {theme path}

  • {theme path} est le chemin d’accès relatif au thème, en commençant par le nom de la zone. Par exemple, le chemin d’accès au thème vierge fourni avec Adobe Commerce est frontend/Magento/blank.
  • --backup-code sauvegarde le code base comme décrit dans les paragraphes qui suivent.
  • --clear-static-content nettoie les fichiers de vue statique, ce qui est nécessaire pour que les fichiers de vue statiques s’affichent correctement.

La commande effectue les tâches suivantes :

  1. Vérifie que les chemins de thème spécifiés existent ; dans le cas contraire, la commande s’arrête.

  2. Vérifie que le thème est un module de compositeur ; dans le cas contraire, la commande s’arrête.

  3. Vérifie les dépendances et termine la commande s’il existe des dépendances non satisfaites.

    Pour contourner ce problème, vous pouvez soit désinstaller tous les thèmes en même temps, soit désinstaller le en fonction du thème en premier.

  4. Vérifie que le thème n’est pas utilisé ; si il est utilisé, la commande s’arrête.

  5. Vérifie que le thème n’est pas la base du thème virtuel ; si c’est la base d’un thème virtuel, la commande s’arrête.

  6. Met le magasin en mode de maintenance.

  7. Si --backup-code est spécifié, sauvegardez le code base, à l’exception des répertoires pub/static, pub/media et var.

    Le nom du fichier de sauvegarde est var/backups/<timestamp>_filesystem.tgz

    Vous pouvez restaurer des sauvegardes à tout moment à l’aide de la commande magento setup:rollback.

  8. Supprime les thèmes de la table de base de données theme.

  9. Supprimez les thèmes de la base de code à l’aide de composer remove.

  10. Nettoie le cache.

  11. Nettoie les classes générées

  12. Si --clear-static-content est spécifié, nettoie les fichiers de vue statique générés.

Par exemple, si vous tentez de désinstaller un thème dont dépend un autre thème, le message suivant s’affiche :

Cannot uninstall frontend/ExampleCorp/SampleModuleTheme because the following package(s) depend on it:
        ExampleCorp/sample-module-theme-depend

Une alternative consiste à désinstaller les deux thèmes en même temps, comme suit la sauvegarde du code base :

bin/magento theme:uninstall frontend/ExampleCorp/SampleModuleTheme frontend/ExampleCorp/SampleModuleThemeDepend --backup-code

Messages similaires à l’affichage suivant :

Code backup is starting...
Code backup filename: 1435261098_filesystem_code.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Code backup path: /var/www/html/magento2/var/backups/1435261098_filesystem_code.tgz
[SUCCESS]: Code backup completed successfully.Removing frontend/ExampleCorp/SampleModuleTheme, frontend/ExampleCorp/SampleModuleThemeDepend from database
Loading composer repositories with package information
Updating dependencies (including require-dev)
Removing frontend/ExampleCorp/SampleModuleTheme, frontend/ExampleCorp/SampleModuleThemeDepend from Magento codebase
  - Removing ExampleCorp/sample-module-theme-depend (dev-master)
Removing ExampleCorp/SampleThemeDepend
  - Removing ExampleCorp/sample-module-theme (dev-master)
Removing ExampleCorp/SampleTheme
Writing lock file
Generating autoload files
Cache cleared successfully.
Alert: Generated static view files were not cleared. You can clear them using the --clear-static-content option.
Failure to clear static view files might cause display issues in the Admin and storefront.
Disabling maintenance mode
NOTE
Pour désinstaller un thème d’administration, vous devez également le supprimer de la configuration d’injection de dépendance de votre composant, <component root directory>/etc/di.xml.
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995