Magento system.xml проблема с кешем - PullRequest
2 голосов
/ 12 ноября 2011

Я строил модуль и делал многочисленные изменения без проблем до сих пор.Я удалил переменную конфигурации из файла system.xml моего расширения, но поле все еще находится в конфигурации.Я отключил все кэширование, очистил все кэши (как через администратор magento, так и вручную удалив все содержимое в каталогах), но это ЕЩЕ не исчезнет.В качестве теста я добавил его обратно в файл system.xml, используя то же имя узла, но изменив метку, и он уловил изменение.Я также смог скрыть его, установив <show_in_...> в 0. Однако после того, как он ушел, я удалил его из файла system.xml, и он снова появился у администратора.Я должен представить, что это проблема с кешированием, но я не могу понять, что нужно сбросить, чтобы все прошло.Есть мысли?

Ответы [ 2 ]

6 голосов
/ 12 ноября 2011

Две вещи, чтобы проверить. При сохранении значения конфигурации magento (в настоящее время) сохраняет его в таблице core_config_data. Даже если вы удалите поле конфигурации из вашей конфигурации system.xml. эта пара путь / значение по-прежнему будет храниться в этой базе данных. Сделать

SELECT * FROM core_config_data WHERE path = '/foo/baz/bar'

Чтобы посмотреть, есть ли там еще значения. Если это так, вызовы Mage::getStoreConfig все равно будут возвращать значение, опять же, независимо от того, что находится в system.xml

Во-вторых, Magento позволяет вам хранить значение по умолчанию для каждого пути конфигурации в config.xml. Смотреть под

<default>
   <foo>
       <baz>
           <bar>1</bar>
       </baz>
   </foo>
</default>

узел для пути вложенного дерева, который соответствует вашему пути конфигурации. Если этот узел присутствует, то это значение будет возвращено для запросов к Mage::getStoreConfig.

1 голос
/ 12 ноября 2011

значения system.xml хранятся в БД, core_config_data: вы там удалили?

...