Названия способов оплаты формируются в hook_commerce_payment_method_info()
и не зависят от названия их Rule, что в общем странно.
Вариант брать названия способов оплаты из названия их Rule:
/**
* Return payment method title.
*/
function modulename_get_payment_method_title($payment_method_instance_id) {
list(, $rule_name) = explode('|', $payment_method_instance_id);
$rule = rules_config_load($rule_name);
return $rule->label;
}
/**
* Implements hook_form_BASE_FORM_ID_alter(): commerce_checkout_form.
*/
function modulename_form_commerce_checkout_form_alter(&$form, &$form_state) {
if (isset($form['commerce_payment'])) {
foreach ($form['commerce_payment']['payment_method']['#options'] as $payment_method_instance_id => &$payment_method_display_title) {
$payment_method_display_title = modulename_get_payment_method_title($payment_method_instance_id);
}
}
}
После этого можно будет менять названия прямо из админки.
Написанное актуально для
Commerce 1
Похожие записи
- Переместить описание выбранного метода оплаты под соответствующий input
- Весь checkout в Drupal Commerce на одной странице
- Автоматическое удаление устаревших анонимных заказов в статусе "корзина"
- Заменить сообщение о завершении заказа на свой .tpl.php файл
- Вывести информацию о выбранном способе оплаты на странице Review order
Добавить комментарий