第005篇 主题 - 03 卸载在线主题

本专题讨论什么

这个专题描述如何卸载Magento2在线主题。

两个因素影响主题卸载方式:

  • 主题添加方式:手动添加(安装或创建),通过composer包管理或扩展管理安装的主题
  • Magento安装方式:通过github源文件或composer安装

下面的章节详细介绍主题卸载。

前提条件

  1. 设置Magento应用为developer或default模式
  2. 通过后台管理面板:content => Design => configuration 确定主题未被使用,并确定自定义主题也未被使用。
  3. 通过后台管理面板:content => Design => Theme确定该主题没有被其他主题继承(Parent Theme)。如果被继承了需要先卸载子主题

卸载手动安装的主题

无论用哪种方式安装Magento,卸载手动创建(安装)的主题步骤都一样。

卸载手动添加的主题:

  1. 找到主题安装的vendor目录。目录通常是:<Magento_root_dir>/app/design/frontend/<VendorName>。
  2. 删除主题目录
  3. 删除数据库的主题记录,如果是MySQL,可以通过以下命令完成:
mysql -u <user> -p -e "delete from <dbname>.theme where theme_path ='<Vendor>/<theme>' AND area ='frontend' limit 1"

说明:

  • <user>:Magento数据库用户名
  • <dbname>:Magento数据库名称
  • <vendor>/<theme>:主题相对路径

卸载主题包:

通过composer包安装的主题卸载方式依赖于Magento实例的安装方式

composer方式安装的Magento卸载主题包

如果Magento和主题都是通过Composer安装,可以在命令行终端参考卸载composer安装的主题专题说明执行命令卸载。

基于仓库克隆Magento实例主题卸载

基于仓库克隆Magento实例中的主题也是通过命令进行卸载。但需要首先从composer.json文件中移除依赖关联。

步骤:

  1. 打开<Magento root dir>/composer.json文件。
  2. 找到以下依赖:

    "require": {
     ...
        "<vendor>/<theme-name>": "<version>"
    },
  3. 更新项目依赖关系:

    composer update
  4. 参考卸载主题composer包专题,采用Magento theme:uninstall命令完成卸载

提示:可以通过composer命令移除依赖,但是这种方式必须要手动从数据库删除主题记录

卸载主题扩展

如果主题被作为扩展安装,你可以像卸载composer包那样卸载主题。

上一篇:Magento 2.4 JS 按需加载 JavaScript高级配置


下一篇:Flink通过滚动窗口达到滑动窗口目的 节省内存和CPU资源(背压)