webgriffe/module-config-override

一个从文件读取额外配置的Magento 2模块

安装次数: 3,982

依赖: 0

建议者: 0

安全: 0

星标: 22

关注者: 4

分支: 3

开放问题: 0

类型:magento2-module

2.3.1 2018-04-17 16:32 UTC

This package is auto-updated.

Last update: 2024-08-30 01:26:03 UTC


README

⚠️弃用⚠️

此模块现在已无用,您可以使用

  1. composer require symfony/dotenv,查看这些说明以了解层次结构;
  2. 创建文件app/etc/EnvironmentVariablesLoader.php
<?php

declare(strict_types=1);

use Symfony\Component\Dotenv\Dotenv;

(new Dotenv())->loadEnv(__DIR__ . "/../../.env");
  1. 通过修改composer.json文件来加载它
    "files": [
+     "app/etc/EnvironmentVariablesLoader.php",
      "app/etc/NonComposerComponentRegistration.php"
    ],
  1. 创建配置变量环境文件,如magento文档中所述。

⚠️弃用⚠️

Build Status

一个从文件覆盖默认配置的Magento 2模块,可添加到版本控制中,受此Magento 1.x扩展启发:https://github.com/webgriffe/config-extension

安装

使用Composer将此扩展添加为依赖项

composer require webgriffe/module-config-override
php bin/magento setup:upgrade

配置覆盖

Magento配置由数据库驱动。这有时会过于强大,并迫使我们维护升级脚本来保持Magento环境与功能开发保持一致。因此,此扩展启用了一个额外的配置源,该源加载多个YAML文件并覆盖数据库配置。

加载的YAML文件顺序如下

  • app/etc/default.yml.dist:这个文件旨在在版本控制下分发所有环境的配置。
  • app/etc/default.yml:这个文件旨在由版本控制系统忽略,以提供与本地需求相关的配置。

此外,如果定义了MAGE_ENVIRONMENT环境变量,则还会加载两个额外的文件。例如,如果MAGE_ENVIRONMENT变量的值为dev,则以下两个文件被加载

  • app/etc/default-dev.yml.dist:与default.yml.dist相同,这个文件旨在在版本控制下分发配置,但仅针对dev环境。
  • app/etc/default-dev.yml:与default.yml相同,这个文件旨在由版本控制系统忽略,以提供与本地需求相关的配置,但仅针对dev环境。

YAML文件中的配置必须使用与Magento系统配置相同的结构指定,例如

web:
  secure:
    base_url: "http://my-project-url.dev/"
  unsecure:
    base_url: "http://my-project-url.dev/"

仅覆盖default配置范围。

CLI说明

请注意,如果您使用MAGE_ENVIRONMENT变量,那么当Magento运行时它应该始终设置。所以仅通过您的web服务器设置它(例如,使用Apache中的SetEnv "dev")是不够的,但它也应该设置在您的命令行shell中。否则,如果您启用了Magento的配置缓存并从命令行清除缓存,则不会应用MAGE_ENVIRONMENT,您将遇到意外的行为。

请记住在通过shell运行命令时“导出”您的事件变量

export MAGE_ENVIRONMENT=dev && <your command> 

或者,您可以将MAGE_ENVIRONMENT=dev添加到您的shell配置中(例如,对于bash)

文件/home/<您用户>/.bashrc

....
....

MAGE_ENVIRONMENT=dev

覆盖的配置值在后台显示

覆盖的配置值在Magento的后台显示。每个配置设置都显示在其部分中。例如,如果您有以下的default.yml文件

design:
  head:
    default_title: Webgriffe Store
    title_suffix: - Webgriffe Store

当您进入 商店 -> 配置 -> 通用 -> 设计 时,您将看到显示的覆盖配置值,但不能编辑。

Admin Screenshop

此功能大大提高了该扩展的可用性。

待办事项

  • 改进系统配置管理员界面以支持复杂字段

鸣谢