Расшифруйте / используйте значения конфигурации, сохраненные как config_backend_encrypted в magento - PullRequest
19 голосов
/ 20 декабря 2011

Я работаю над модулем доставки. В system.xml я установил для некоторых полей значение backend_encrypted. Вот этот узел:

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

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

Есть идеи, как его получить?

Ответы [ 2 ]

29 голосов
/ 14 марта 2013

Чтобы использовать $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>
28 голосов
/ 20 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...