我尝试对Drupal Commerce优惠券窗格进行一些小改动(为其添加一个div)。我试图挂钩这个功能:
function commerce_coupon_pane_checkout_form($form, &$form_state, $checkout_pane, $order) {
// Allow to replace pane content with ajax calls.
$pane_form = array(
'#prefix' => '<div id="commerce-checkout-coupon-ajax-wrapper">',
'#suffix' => '</div>',
);
(..)
}
为此,我在我的模块中创建了一个函数:
function <mymodule>_form_commerce_coupon_pane_alter(&$form, &$form_state, $form_id) {
$form['#prefix'] = '<div id="collapsable-panel"><p>You have coupon? Add it here.</p>' + $form['#prefix'];
$form['#suffix'] = $form['#suffix'] + '</div>';
}
但它不起作用。我认为应该有其他方法来挂钩结账窗格,但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
您的意图是正确的,但表单的ID不正确。它应该是这样的function <mymodule>_form_commerce_coupon_pane_checkout_alter
。
如果它仍然不起作用,可以尝试以下方法:
function YOURMODULE_form_alter(&$form, &$form_state, $form_id) {
if($form_id == "YOU NEED TO DISCOVER THE FORM ID") {
// Do whatever you want here
}
}
不要忘记清除所有缓存!