Drupal Commerce: как получить настройки модуля оплаты?

8

Как программно получить конфигурацию конкретного платежного модуля?

Я старался

$settings = rules_config_load('commerce_payment_MODULE_NAME');

Он возвращает основную информацию (имя, идентификатор и т. Д.) И пустой массив «settings».

Не могу также получить его непосредственно из БД.

Он хранится в сериализованном массиве, который не может быть полностью обработан unserialize()функцией.

volocuga
источник

Ответы:

16

Я использую это:

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

где foo- строковый идентификатор метода оплаты.

Полученный массив содержит 'settings'индекс, данные которого сохраняются в форме настроек.


Другими словами foo|commerce_payment_fooэто идентификатор экземпляра, который состоит method_id|rule_name.

method_idМожно найти, выполнив commerce_payment_methods()и rule_nameмогут быть найдены в URL при редактировании действия платежа (в /admin/commerce/config/payment-methods).

Гедван Диас
источник
это действительно полезно для меня, есть ли способ проверить форму настроек?
Светлио
Где я могу получить строковый идентификатор метода оплаты 'foo' и 'commerce_payment_foo'?
Рэнделл