【问题标题】:Drupal Commerce custom checkout pane state not working as expectedDrupal Commerce 自定义结帐窗格状态未按预期工作
【发布时间】:2014-02-27 02:47:58
【问题描述】:

我正在尝试在自定义结帐窗格中添加有条件显示的字段集。与标准表单不同,无论状态如何,始终显示字段集。

例如,在下面的代码中,我希望根据“hungry”单选按钮的值显示“hungry_fields”字段集。

function hungry_pane_checkout_form($form, &$form_state, $checkout_pane, $order) {

  $pane_form['hungry'] = array(
    '#type' => 'radios',
    '#options' => array('yes' => t('Yes'), 'no' => t('No')),
    '#required' => TRUE,
    '#title' => t('I am hungry')
  );

  $pane_form['hungry_fields'] = array(
    '#title' => 'Hungry',
    '#type' => 'fieldset',
    '#collapsible' => FALSE,
    '#collapsed' => FALSE,
    '#states' => array(
      'visible' => array(
        ':input[name="hungry"]' => array('value' => 'yes'),
      ),
    ),
  );

  return $pane_form;

}

我是 Drupal Commerce 的新手,所以我完全有可能遗漏了什么。

【问题讨论】:

    标签: drupal drupal-7 drupal-commerce


    【解决方案1】:

    我通过使用带有 drupal_get_form() 的表单回调而不是直接将字段添加到数组来解决此问题。

    例如:

    function hungry_pane_checkout_form($form, &$form_state, $checkout_pane, $order) {
    
      $pane_form['form'] = drupal_get_form('hungry_form');
    
    }
    
    function hungry_form($form, &$form_state) {
      ...
    }
    

    使用此方法表单可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 2018-03-09
      • 2016-06-18
      • 1970-01-01
      • 2017-01-01
      • 2021-10-22
      相关资源
      最近更新 更多