如何添加add /或#states condition =>值?在Drupal状态

时间:2012-03-07 20:22:20

标签: drupal drupal-7

我想看看我是否可以查看多个条件......如果fieldname是35或27,那么就让它成为必需...

是否可以在Drupal 7 FAPI #states中执行多个条件?

$form['field_fiscal_year'] = array(
      '#states' => array(
        // Only show this field when the 'select list' is either 35 or 27
        'required' => array(
          ':input[name="field_doc_type[und]"]' => array('value' => 35),
          ':input[name="field_doc_type[und]"]' => array('value' => 27),
        ),
              ));

2 个答案:

答案 0 :(得分:4)

来自http://api.drupal.org/comment/46038#comment-46038

进行OR的正确方法是:

<?php

 $form['field_two']['#states'] = array(

    'visible' => array(

      ':input[name="field_one[und]"]' => array(

        array('value' => '3'),

        array('value' => '4'),

      ),

    ),

  );

?>

答案 1 :(得分:2)

目前不支持OR,现在已经有discussion一段时间了。

修复已经committed to Drupal 7.13但是现在上面的页面上有一些补丁可以让你对状态进行OR和XOR。