Drupal Commerce: Bagaimana cara mendapatkan pengaturan modul pembayaran?

8

Bagaimana cara mengambil konfigurasi modul pembayaran tertentu secara terprogram?

Saya mencoba

$settings = rules_config_load('commerce_payment_MODULE_NAME');

Ini mengembalikan info yang sangat mendasar (nama, ID dll) dan array "pengaturan" kosong.

Saya juga tidak bisa mendapatkannya langsung dari DB.

Ini disimpan dalam array serial yang tidak dapat sepenuhnya diproses dengan unserialize()fungsi.

volocuga
sumber

Jawaban:

16

Saya menggunakan ini:

$payment = commerce_payment_method_instance_load('foo|commerce_payment_foo');

di mana foopengenal string metode pembayaran.

Array yang dihasilkan berisi 'settings'indeks, dengan data disimpan di formulir pengaturan.


Dengan kata lain foo|commerce_payment_fooadalah instance id yang terdiri method_id|rule_name.

The method_iddapat ditemukan dengan menjalankan commerce_payment_methods()dan rule_namedapat ditemukan di URL saat mengedit tindakan Payment (di /admin/commerce/config/payment-methods).

Gedvan Dias
sumber
ini sangat membantu saya, adakah cara untuk memvalidasi formulir pengaturan?
svetlio
Di mana saya bisa mendapatkan pengidentifikasi string metode pembayaran 'foo' dan 'commerce_payment_foo'?
Randell