Drupal Commerce: Wie erhalte ich Einstellungen für das Zahlungsmodul?

8

Wie kann die Konfiguration des jeweiligen Zahlungsmoduls programmgesteuert abgerufen werden?

Ich habe es versucht

$settings = rules_config_load('commerce_payment_MODULE_NAME');

Es gibt sehr grundlegende Informationen (Name, ID usw.) und ein leeres Array "Einstellungen" zurück.

Kann es auch nicht direkt von der DB bekommen.

Es wird in einem serialisierten Array gespeichert, das mit der unserialize()Funktion nicht vollständig verarbeitet werden kann.

Volocuga
quelle

Antworten:

16

Ich benutze dies:

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

Wo fooist die Zeichenfolge der Zahlungsmethode?

Das resultierende Array enthält den 'settings'Index, wobei die Daten im Einstellungsformular gespeichert sind.


Mit anderen Worten foo|commerce_payment_fooist die Instanz-ID, die besteht method_id|rule_name.

Das method_idkann durch Ausführen gefunden werden commerce_payment_methods()und rule_namekann in der URL beim Bearbeiten der Zahlungsaktion (at /admin/commerce/config/payment-methods) gefunden werden.

Gedvan Dias
quelle
Das ist wirklich hilfreich für mich. Gibt es eine Möglichkeit, das Einstellungsformular zu validieren?
Svetlio
Woher bekomme ich die Zahlungsmethoden-String-ID 'foo' und 'trade_payment_foo'?
Randell