webgriffe/config-extension

Magento 配置扩展

安装次数: 40,422

依赖者: 0

建议者: 1

安全性: 0

星标: 20

关注者: 12

分支: 1

公开问题: 0

类型:magento-module

v3.0.0 2018-02-16 15:01 UTC

This package is auto-updated.

Last update: 2024-09-07 21:18:12 UTC


README

Build Status

Magento 1.x 扩展,可改进配置系统。

实际上,Magento 配置是由数据库驱动的。有时,这过于强大,并迫使我们维护升级脚本以保持 Magento 环境与功能开发保持一致。

安装

要使用此扩展的版本 3.* 或更高版本,您需要使用 Aydin Hassan 的 Composermagento-core-composer-installer 来管理 Magento 核心本身,并且需要一个 magento-core 包,如 Bragento 的 magento/core

实际上,此扩展的版本 3.* 或更高版本使用 Cameron Eagans 的 composer-patches 来对 Mage_Core_Model_Config 应用补丁,以便允许配置覆盖。

如果尚未安装,请将 Magento Composer Installer 添加到您的项目中,然后添加 webgriffe/config-extensioncweagans/composer-patches 包到您的依赖项

composer require --no-update webgriffe/config-extension
composer require --no-update cweagans/composer-patches

然后您需要将带有补丁配置的 extra 配置添加到您的 composer.json 文件中

"extra": {
    "patches": {
        "magento/core": {
            "Config model patch to allow override": "https://raw.githubusercontent.com/webgriffe/config-extension/master/config-model.patch"
        }
    },
    "composer-exit-on-patch-failure": true
}

如果您有不同名称的 Magento 核心包,您必须在 patches 部分中使用其名称。

此外,您必须从文件系统中删除 magento/core 包,以便重新安装并打上补丁。

rm -rf vendor/magento/core

最后,您可以安装扩展

composer update webgriffe/config-extension cweagans/composer-patches

在安装过程中,Composer 应该输出类似于以下内容

- Applying patches for magento/core
vendor/webgriffe/config-extension/config-model.patch (Config model patch to allow override)
- MagentoCoreInstaller: Installing: "magento/core" version: "1.9.3.7" to: "magento"

现在您应该已成功安装扩展,并已对 Mage_Core_Model_Config 打上补丁,查看 app/code/core/Mage/Core/Model/Config.php 以确认已打上补丁(您应该在类标题处看到补丁注释)。

如果您无法使用 Composer 管理 Magento 核心,您必须使用此扩展的版本 2.*,但您将错过最新的功能,安装步骤也不同,在 2.x 分支的 README.md 中描述。

配置覆盖

因此,此扩展启用了一个额外的配置文件,该文件覆盖了数据库配置。该文件必须位于路径 app/etc/config-override.xml.dist。例如

<?xml version="1.0"?>
<config>
	<default>
    	<general>
        	<locale>
            	<code>en_US</code>
            </locale>
	    </general>
    </default>
    <stores>
    	<it_it>	    			
			<general>
        		<locale>
    	        	<code>it_IT</code>
	            </locale>
    	    </general>
    	</it_it>
    </stores>
</config>

该扩展还尝试加载位于 app/etc/config-override.xml非-dist 文件,如果存在,则扩展 app/etc/config-override.xml.dist。这样,您可以将 app/etc/config-override.xml.dist 文件置于版本控制下,与他人共享该配置,但忽略 app/etc/config-override.xml 以仅将其保留在您的计算机上。

特定环境的配置

您可以根据当前环境设置不同的配置,通过定义几个环境配置文件,这些文件必须放置在 app/etc 中,并且必须使用 config-override-{env}.xml.dist 模式命名,其中 {env} 是当前环境(例如 config-override-dev.xml 用于 dev 环境,或 config-override-prod.xml.dist 用于 prod 环境)。特定环境的配置覆盖上述 app/etc/config-override.xml.dist 配置。要指定当前环境,您必须设置环境变量 MAGE_ENVIRONMENT。例如,在 Apache 虚拟主机配置或 .htaccess 文件中,您可以这样做

SetEnv MAGE_ENVIRONMENT "dev"

即使在特定环境的配置下,您也可以使用distnon-dist文件。因此,您可以拥有config-override-dev.xml.dist文件,它可以通过config-override-dev.xml文件进行扩展。

EcomDev_PHPUnit local.xml.phpunit加载

此扩展还允许加载EcomDev_PHPUnit测试模块的local.xml.phpunit文件。要启用此功能,必须将环境变量MAGE_LOAD_ECOMDEV_PHPUNIT_CONFIG设置为1。然后,使用类似CgiHttpKernel的库,您可以在专用的测试数据库上执行完整的验收测试(或功能测试)(该数据库也用于其他EcomDev_PHPUnit测试)。有关更多信息,请参阅Webgriffe的功能测试特性

覆盖的配置值在后台显示

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

<?xml version="1.0"?>
<config>
	<default>
    	<design>
        	<package>
            	<name>my-package-name</name>
          </package>
	    </design>
    </default>
</config>

当您转到系统 -> 配置 -> 通用 -> 设计时,您会看到显示的覆盖配置值,但不能编辑。

image

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

待办事项

  • 性能改进
  • 处理相互依赖的字段
  • 处理密码/加密字段