Получить конфигурационные данные модуля magento в Observer

Я создал модуль с наблюдателем для модуля продаж с событием hook 'sales_order_shipment_save_after,

Мой модуль имеет следующие файлы

  • Компания/MODULENAME/и т.д. /config.xml
  • Компания/MODULENAME/и т.д. /System.Xml
  • Компания/MODULENAME/модель/Observer.php

есть четыре поля в полях конфигурации администратора admin Я хочу получить эти сохраненные данные в классе Observer.

используя $this- > getConfigData (пароль); дает

Вызов метода undefined

ошибка Какие-либо предложения?

Ответ 1

Magento использует статический метод для глобального объекта приложения Mage для получения значений конфигурации

$config = Mage::getStoreConfig('section_name/group/field'); //value
$config = Mage::getStoreConfig('section_name/group'); //array

Ответ 2

Поправка к Алану полностью правильный ответ.

Наряду с path в качестве первого параметра getStoreConfig также принимает storeid как второй параметр (необязательно).

Ну, это полезно, когда вы хотите получить значения по магазинам.

Алан упомянул этот момент в своем собственном учебнике. Думаю, он не упомянул здесь только потому, что ОП не упомянул об этом в своем вопросе.

Пожалуйста, обратитесь this

Ответ 3

В модуле отправки я могу использовать $this->getConfigDat a для полей в system.xml, но иногда в других типах модулей нет, например. extends Mage_Core_Model_Abstract, чем я должен использовать getStoreConfig. Поэтому ответ: вам не обязательно всегда использовать getStoreConfig. Но я не знаю, почему...

Ответ: getConfigData определяется только в классе отгрузки и также использует getStoreConfig. Немного сбивает с толку, что некоторые функции являются дополнительными определенными и ненужными на самом деле...