Index: conditional_fields.module =================================================================== --- conditional_fields.module (revision 179) +++ conditional_fields.module (working copy) @@ -258,6 +258,10 @@ $entity_type = $field['#entity_type']; $bundle = $field['#bundle']; } + elseif (isset($field[0]) && isset($field[0]['#entity_type'])) { + $entity_type = $field[0]['#entity_type']; + $bundle = _conditional_fields_find_parent_bundle($field); + } elseif (isset($form['#entity_type'], $form['#bundle'])) { $entity_type = $form['#entity_type']; $bundle = $form['#bundle']; @@ -267,6 +271,8 @@ } $dependencies = conditional_fields_load_dependencies($entity_type, $bundle); + //if ($element[$element['#language']]['#field_name'] == 'field_3_1_2_optional') $dependencies = conditional_fields_load_dependencies('field_collection_item', 'field_3_1_2_waste_red_program'); + if (!$dependencies) { return $element; @@ -1998,3 +2004,13 @@ ), ); } + +// need to return immediate parent as the bundle +function _conditional_fields_find_parent_bundle($field) { + $field_parents = array_reverse($field[0]['#field_parents']); + foreach ($field_parents as $parent) { + if (!is_numeric($parent) && $parent != 'und') { + return $parent; + } + } +}