Получить конфигурационные данные модуля 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. Немного сбивает с толку, что некоторые функции являются дополнительными определенными и ненужными на самом деле...