对于Magento开发人员来说,您通常不想在实时系统上拥有一些不错的扩展。

您如何将它们保存在项目存储库中,但要避免将它们暴露在现场店里?

有帮助吗?

解决方案

有两种相对较新的技术要做:

  • 利用 Modman 因此,您将能够自己控制每个环境的部署。这意味着您跑步 modman deploy [name-of-dev-extension] 仅在您的开发环境中。

  • 利用 洋红色组合 有不同的 composer.json 不同环境的方案。更容易的方法是将这些扩展名指定为Dev-Modules,然后使用 --require-dev 打开开发机器。

其他提示

通常可以使用配置标志方便地禁用这些功能,因此它们在技术上是活跃的,但没有做任何事情。如果将此标志设置为false app/etc/local.xml 在您的现场系统中,您应该没事的。

Magetrashapp 这是最近在柏林的Magento Hackathon创建的。允许您通过管理面板去激活模块。

一种简单的方法是,在 /etc /eetc /模块中禁用模块,推动它,忽略本地文件并再次启用文件。

我认为处理此问题的最佳方法是将所有这些模块保留在本地Codepool中,并禁用您local.xml中的所有本地模块:xml:xml:

    <disable_local_modules>true</disable_local_modules>

或者,您可以在实时环境中的后端进行“禁用模块输出”。 (系统 - >配置 - >高级)。但是,这并不能完全禁用模块。但是也许您想隐藏它已经足够了。

我唯一能想到的是编写一些可以实现这一目标的代码。只需检查是否处于开发人员模式(Mage::getIsDeveloperMode())然后禁用模块。我在此处找到了有关实现这一目标的更多细节: https://stackoverflow.com/questions/6520634/magento-how-to-disable-module-programathication

我通常只是将它们放入我的测试环境中,但不要将它们检查到版本控制系统中,例如使用 .gitignore 申请将其排除在被考虑的情况下。

埃里克·汉森(Erik Hansen)在2011年会议上有一个幻灯片。他在幻灯片中陈述了一个代码,如下(对于开发人员模式)

# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
   $_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}

这是,Erik启用了基于子域的设置,您可以自己自定义它。

许可以下: CC-BY-SA归因
scroll top