Ответ 1
Просто используйте Mage::helper('core')->decrypt($this->getConfigData('client_id'));
Я работаю над модулем доставки.
В system.xml
я установил некоторые поля как backend_encrypted
. Вот node:
<client_id translate="label">
<label>Client ID</label>
<frontend_type>obscure</frontend_type>
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</client_id>
Мне нужно, чтобы это значение передавалось с использованием cURL в API доставки, но, когда я пытаюсь получить его с помощью $this->getConfigData('client_id');
, он получается зашифрованным.
Я смотрел в других модулях, и я вижу, что значения хранятся одинаково, но каким-то образом им удается получить правильное значение.
Любая идея, как его получить?
Просто используйте Mage::helper('core')->decrypt($this->getConfigData('client_id'));
Чтобы использовать $this->getConfigData('client_id');
без его ручного дешифрования, вам необходимо обновить файл config.xml, добавив <client_id backend_model="adminhtml/system_config_backend_encrypted" />
, см. пример ниже
В вашем файле config.xml
...
<default>
<carriers>
<magepal>
......
<client_id backend_model="adminhtml/system_config_backend_encrypted" />
</magepal>
</carriers>
</default>
</config>