Magento是否会在我的app / etc /中包含任何* .xml文件?


11

log_%当我意识到将配置放入其自己的xml文件会很方便时,我正在禁用这些表。因此,我开始寻找如何在app / etc /中包含xml文件。当我找不到对local.xml以外的任何其他内容的直接引用,并且我知道包括了enterprise.xml时,我尝试了一个实验:我添加了一个格式正确的配置文件“ nolog.xml”(如下),然后重新启动了Apache。

<?xml version="1.0"?>
<config>
  <frontend>
    <events>
      <controller_action_predispatch>
        <observers>
          <log>
            <type>disabled</type>
          </log>
        </observers>
      </controller_action_predispatch>
      <controller_action_postdispatch>
        <observers>
          <log>
            <type>disabled</type>
          </log>
        </observers>
      </controller_action_postdispatch>
      <customer_login>
        <observers>
          <log>
            <type>disabled</type>
          </log>
        </observers>
      </customer_login>
      <customer_logout>
        <observers>
          <log>
            <type>disabled</type>
          </log>
        </observers>
      </customer_logout>
      <sales_quote_save_after>
        <observers>
          <log>
            <type>disabled</type>
          </log>
        </observers>
      </sales_quote_save_after>
      <checkout_quote_destroy>
        <observers>
          <log>
            <type>disabled</type>
          </log>
        </observers>
      </checkout_quote_destroy>
    </events>
  </frontend>
</config>

果然,我的日志仍未写入。我只是在这里寻找健全性检查:我可以在app / etc中放入任何* .xml文件,并期望Magento包含它吗?


1
顺便说一句,如果您仅更改了Magento配置,则无需重启Apache。但是,您可能需要清除配置缓存(如果已启用)。
Luke Mills

Answers:


12

是的你可以。这是Magento的标准配置加载的一部分,以查找*.xml此文件夹中命名的任何文件。具体来说,以下代码可以做到这一点。

#File: app/code/core/Mage/Core/Model/Config.php
$etcDir = $this->getOptions()->getEtcDir();
$files = glob($etcDir.DS.'*.xml');

另外,对于StackExchange自链接来说,时间太长了,它涵盖了比您想了解的有关配置加载更多的内容

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.