2011-12-20 26 views
16

içinde config_backend_encrypted olarak saklanan yapılandırma değerlerinin şifresini çözme/kullanma Bir nakliye modülü üzerinde çalışıyorum. system.xml içinde backend_encrypted olmak üzere bazı alanlar ayarlıyorum.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> 

Ben $this->getConfigData('client_id'); kullanarak dosyayı almaya çalıştığınızda, o şifreli çıkıp ben, API nakliye için cURL kullanarak geçmek bu değeri gerek ama: İşte düğümdür.

Diğer modüllere bakıyordum ve değerleri saklı görüyorum ama bir şekilde doğru değeri elde etmeyi başarıyorlar.

Nasıl edinileceği hakkında herhangi bir fikrin var mı?

cevap

21

Sadece, kendi config.xml olarak

aşağıdaki örneğe bakın, <client_id backend_model="adminhtml/system_config_backend_encrypted" /> ekleyerek config.xml güncellemeniz gerekir elle şifrelerini çözmeden $this->getConfigData('client_id'); kullanmak için

+0

çalışır, teşekkürler. ama neden başka bir modülde şifresini çözmek için herhangi bir referans görmedim? Ve eğer yardım edebilecek olursan, yanlış kullanıyorum, olması gereken yerde değil? – Ovidiu

+0

Her şeyi doğru yapıyorsunuz. Eğer "decrypt" için Magento kodunu arayacaksanız, çok sayıda referans alacaksınız. –

+0

Tekrar teşekkürler Laurent. – Ovidiu

23

Mage::helper('core')->decrypt($this->getConfigData('client_id')); kullanmak

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

Bunu eklemek, aslında 10 istemden 9'unda olmasını istediğim yapılandırma değerlerini şeffaf bir şekilde çözecektir. Tim'in çözümü çalışırken, bence bu daha doğru bir cevap. – nnevala

+0

^^ 'Kabul edilen cevap' işe yarıyorsa da, bu kesinlikle daha 'doğru' görünmektedir. –