2011-12-20 10 views
16

Estoy trabajando en un módulo de envío. En system.xml configuré algunos campos para que sean backend_encrypted. Aquí está el nodo:Descifrar/usar valores de configuración almacenados como config_backend_encrypted en magento

<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> 

necesito ese valor a pasar usando cURL para el envío de la API, pero, cuando intento de recuperarla usando $this->getConfigData('client_id');, que os salga cifrada.

Estaba buscando en otros módulos y veo valores almacenados de la misma manera, pero de alguna manera, logran obtener el valor correcto.

¿Alguna idea de cómo conseguirlo?

Respuesta

21

sólo tiene que utilizar Mage::helper('core')->decrypt($this->getConfigData('client_id'));

+0

funciona, gracias. pero ¿por qué no he visto ninguna referencia para descifrar en ningún otro módulo? Y si puedes ayudar, lo estoy usando mal, ¿dónde se supone que no debe estar? – Ovidiu

+0

Estás haciendo todo bien. Si busca el código de Magento para "descifrar", obtendrá muchas referencias. –

+0

Gracias otra vez Laurent. – Ovidiu

23

Para utilizar $this->getConfigData('client_id'); sin descifrar manualmente, lo que necesita para actualizar su config.xml añadiendo <client_id backend_model="adminhtml/system_config_backend_encrypted" />, véase el siguiente ejemplo

En su config.xml

... 
    <default> 
     <carriers> 
      <magepal> 
       ...... 
       <client_id backend_model="adminhtml/system_config_backend_encrypted" /> 
      </magepal> 
     </carriers> 
    </default> 
</config> 
+0

Al agregar esto se descifrarán transparentemente los valores de configuración, lo que supongo que en 9 de cada 10 casos es lo que realmente se desea. Si bien la solución de Tim funciona, creo que esta es la respuesta más correcta. – nnevala

+0

^^ Aunque la respuesta aceptada 'funciona', definitivamente parece más 'correcta'. –

Cuestiones relacionadas