You are here

protected function context_condition_entity_field::get_field_value in Context entity field 7

Get value for specified field.

Parameters

string $field_name: Name of field to check.

array $item: Field items.

Return value

mixed Vield values.

1 call to context_condition_entity_field::get_field_value()
context_condition_entity_field::get_field_multiple_value in plugins/context_condition_entity_field.inc
Get values for specified field.

File

plugins/context_condition_entity_field.inc, line 173
Implement context condiction class for entity field value.

Class

context_condition_entity_field
Expose entity field as a context condition.

Code

protected function get_field_value($field_name, $item) {

  // Load field information; field_info_field already use static value, so
  // is not required other caching layer on this code.
  $field_info = field_info_field($field_name);

  // List off value keys managed.
  $field_value = array(
    'taxonomy_term_reference' => 'tid',
    'node_reference' => 'nid',
    'user_reference' => 'uid',
    'entityreference' => 'target_id',
  );

  // Extract values_keys for current field.
  $type = $field_info['type'];
  $value_key = isset($field_value[$type]) ? $field_value[$type] : 'value';

  // Value (if exist).
  $value = isset($item[$value_key]) ? $item[$value_key] : NULL;
  return $value;
}