骄傲的电子商务 / oxid-console-moduleactivator
根据 YAML 文件激活多个模块。
Requires
- php: >=7.1
README
为 OXID 控制台 定制的命令。
安装
composer require proudcommerce/oxid-console-moduleactivator
命令
pc:module:activator
-
描述:根据 YAML 文件激活多个模块。
-
用法
vendor/bin/oe-console pc:module:activator [-s|--skipDeactivation] [-d|--clearModuleData] [--] <yaml-file>
- 示例(根据白名单或黑名单激活 YAML 文件中定义的所有模块)
vendor/bin/oe-console pc:module:activator -s ../modules.yml
YML 文件
whitelist: 1: - ocb_cleartmp - moduleinternals - custommodule1 #- ddoevisualcms #- ddoewysiwyg 2: - ocb_cleartmp - custommodule2 priorities: 1: moduleinternals: 1200 ocb_cleartmp: 950 installations: - source/modules/myvendor/custommodule1 - source/modules/myvendor/custommodule2
支持包含多个商店 ID 和所需模块 ID 的白名单或黑名单条目,用于激活(白名单)或排除激活(黑名单)的模块。
如果您愿意,也可以在命令行上指定 YAML 字符串而不是文件,例如。
oe-console pc:module:activator $'whitelist: 1: - oepaypal ' --shop-id=1
模块优先级
使用“优先级”,您可以定义模块激活的顺序(按子商店)。您可以按子商店定义优先级,如上例所示。
在激活之前安装模块
通过指定“installations”数组,您可以使模块在商店中真正“安装”(模块可以通过 Composer 安装,或者通过调用例如 vendor/bin/oe-console oe:module:install-configuration source/modules/oxcom/ocbcleartmp
)。如果列表中的模块尚未安装,则会调用 oe:module:install-configuration
(请注意,您仍然需要在主 composer.json 中添加 composer 命名空间以进行自动加载,例如)。因此,如果您直接将自定义项目特定模块添加到 "source/modules/" 文件夹并将它们手动添加到主 composer.json 中(因此您不需要为每个模块单独的 composer 存储库),这是一个“边缘情况”。
"autoload": { "psr-4": { "MyVendor\\CustomModule1\\": "./source/modules/myvendor/custommodule1", "MyVendor\\CustomModule2\\": "./source/modules/myvendor/custommodule2" } }
一种更好的替代方案是使用 "wikimedia/composer-merge-plugin" 插件,这样您的模块的 composer.json 将直接使用。
参数
yaml
- 名称: yaml
- 描述: YAML 模块列表文件名或 YAML 字符串。文件路径相对于商店“source/”路径
选项
skipDeactivation
- 名称:
--skipDeactivation
- 快捷方式:
-s
- 接受值: 否
- 是否必需值: 否
- 描述: 跳过模块的停用,仅激活。
- 默认值:
false
clearModuleData
- 名称:
--clearModuleData
- 快捷方式:
-d
- 接受值: 否
- 是否必需值: 否
- 描述: 清除 oxconfig 表中的模块数据。
- 默认值:
false