Расшифровывать/использовать значения конфигурации, хранящиеся как config_backend_encrypted в magento

Я работаю над модулем доставки. В 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');, он получается зашифрованным.

Я смотрел в других модулях, и я вижу, что значения хранятся одинаково, но каким-то образом им удается получить правильное значение.

Любая идея, как его получить?

Ответы

Ответ 1

Просто используйте Mage::helper('core')->decrypt($this->getConfigData('client_id'));

Ответ 2

Чтобы использовать $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>