0

我正在尝试使用表单更改主题结帐地址窗格。

function mymodule_theme() {
    return array(
        'billing_pane_theme' =>array(
            'render element' => 'form',
            'path'=> drupal_get_path('theme', 'twitter_bootstrap').'/templates/checkout',
            'template' => 'checkout-billing-fields',

        ),

        'delivery_pane_theme' => array(
            'render element' => 'form',
            'path'=> drupal_get_path('theme', 'twitter_bootstrap').'/templates/checkout',
            'template' => 'checkout-delivery-fields',

        ),

    );
}


function mymodule_form_alter(&$form, &$form_state, $form_id) {

    if($form_id == 'uc_cart_checkout_form') {
        $form['panes']['billing']['#theme'] = 'billing_pane_theme';
        $form['panes']['delivery']['#theme'] = 'delivery_pane_theme';


    }
}

当用户单击“结帐”按钮或刷新结帐页面时,第一次一切顺利,但如果用户选择“保存的地址”或“我的帐单信息与我的交货信息相同”(窗格通过 ajax 请求呈现)然后主题不适用,并且显示默认地址字段窗格

4

1 回答 1

0

尝试查看#ahah 回调属性并检查返回的表单是否触发了更改,我猜它只返回完整表单的“切片”,跳过您的主题。

于 2013-04-18T19:52:54.517 回答