激活或禁用 Magento 模块

当您在 Magento 2 商店中运行第三方模块时,激活或禁用 Magento 2 的模块是最常用的操作。第三方模块通常是您想要要启用的插件,其主要目的是改善在线业务的状态。但是,由于某些原因在您同时激活所有模块时有时会引起冲突,因此有必要禁用不是很重要的模块。

为了激活或禁用,您可以研究该模块的配置,但是在今天我们讨论,如何遵循 Mageplaza 的建议去手动激活或禁用 Magento 2 模块?这对于开发人员来说是非常有用的。

激活/禁用Magento 2模块的4个步骤

  • 步骤1:登录到 Magento 文件系统
  • 步骤2:执行 Magento 命令
  • 步骤3:激活/禁用 Magento 2 模块
  • 步骤4:更新已启用的 Magento 2 模块的数据库

步骤1:登录到 Magento 文件系统

首先,需要使用拥有修改和编辑 Magento 文件系统权限的所有者用户登录到 Magento 文件系统。在使用bash shell 的情况下,运行以下命令将帮助您以所有者身份访问 Magento 文件系统

su <Magento file system owner> -s /bin/bash -c

如果 Magento 文件系统不接受任何外部登录,请使用以下命令:

sudo -u <Magento file system owner>

步骤2:执行 Magento 命令

要想从任何目录运行 Magento 命令,请添加 <your Magento install dir>/bin到系统的 PATH 变量中。
请添加 <your Magento install dir>/bin 到系统的 PATH 变量或按照以下说明操作:

cd <your Magento install dir>/bin 并运行 ./magento <command name>

php <your Magento install dir>/bin/magento <command name>

<your Magento install dir> 是 Web 服务器根目录的子目录。

步骤3:激活/禁用 Magento 2 模块

接下来,您可以按照以下步骤开始激活或禁用 Magento 2 中的模块:
运行命令

magento module:enable [-c|--clear-static-content] [-f|--force] [--all] <module-list> 
magento module:disable [-c|--clear-static-content] [-f|--force] [--all] <module-list> 

为了使用这些命令,您需要了解:

* <module-list> 是要激活或禁用的模块列表。如果包含特殊字符,则该模块的名称要用单引号或双引号引起来。
* --all 您可以同时激活或禁用所有模块。
* -f 或 --force 意味着您有权限激活或禁用这些模块,而无论其依赖性如何。
* -c 或 --clear-static-content 表示清除所有已发布的静态视图文件。但是,如果有许多文件具有相同的名称,则不会清除所有文件。这意味着如果存在多个名为 logo.gif 的文件,这将导致错误显示该文件。

使用以下命令显示已激活和已禁用模块的列表:

magento module:status

例如,您调用已禁用的 Wee 模块,需要运行

magento module:disable Magento_Weee

步骤4:更新已激活的 Magento 2 模块的数据库

激活一个或多个模块后,需运行以下命令来请求数据库更新:

magento setup:upgrade

激活或禁用 Magento 2 模块的注意事项

这是为您激活或禁用依赖于另一个模块的模块时的一些注意事项。

  • 如果模块A依赖于模块B:
  • 必须先禁用模块 A,然后再禁用模块 B。
  • 如果两个模块都不可用,则必须先启用模块 B。
  • 如果模块 A 与模块 B 冲突,则可以同时禁用它们或单独禁用它们,但是,不能同时启用两者。

每个模块的依赖性在 Magento 的 composer.json 文件中的 require 字段中列出,而模块冲突则在 conflict 字段中列出。如果模块之间存在依赖关系,仍然尝试不按照规则来激活或禁用,显示的错误消息中会提示您依赖关系图。

  • A → B表示模块A依赖于模块B。
  • A → B → C 表示模块A依赖模块B,而模块B依赖模块C。

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: