2011-12-20 14 views
16

Tôi đang làm việc trên mô-đun giao hàng. Trong system.xml Tôi đặt một số trường là backend_encrypted. Dưới đây là nút:Giải mã/sử dụng các giá trị cấu hình được lưu trữ dưới dạng config_backend_encrypted trong 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> 

Tôi cần giá trị đó để vượt qua sử dụng cURL để vận chuyển API nhưng, khi tôi cố gắng lấy lại nó bằng cách sử $this->getConfigData('client_id');, nó đi ra được mã hóa.

Tôi đang tìm kiếm các mô-đun khác và tôi thấy các giá trị được lưu trữ giống nhau nhưng bằng cách nào đó, chúng quản lý để có được giá trị phù hợp.

Bất kỳ ý tưởng nào để tải xuống?

Trả lời

21

Chỉ cần sử dụng Mage::helper('core')->decrypt($this->getConfigData('client_id'));

+0

hoạt động, cảm ơn. nhưng tại sao tôi không thấy bất kỳ tham chiếu nào để giải mã trên bất kỳ mô-đun nào khác? Và nếu bạn có thể giúp đỡ, tôi đang sử dụng nó sai, nơi mà nó không được cho là? – Ovidiu

+0

Bạn đang làm mọi thứ đúng. Nếu bạn sẽ tìm kiếm mã Magento để "giải mã", bạn sẽ nhận được rất nhiều tài liệu tham khảo. –

+0

Cảm ơn một lần nữa Laurent. – Ovidiu

23

Để sử dụng $this->getConfigData('client_id'); mà không tự giải mã nó, bạn cần cập nhật config.xml của bạn bằng cách thêm <client_id backend_model="adminhtml/system_config_backend_encrypted" />, xem ví dụ dưới đây

Trong config.xml của bạn

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

Việc thêm này sẽ giải mã một cách minh bạch các giá trị cấu hình, mà tôi cho rằng trong 9 trong số 10 trường hợp là điều thực sự mong muốn. Trong khi giải pháp của Tim hoạt động, tôi nghĩ đây là câu trả lời đúng hơn. – nnevala

+0

^^ Trong khi câu trả lời được chấp nhận 'hoạt động', điều này chắc chắn có vẻ 'đúng' hơn. –

Các vấn đề liên quan