You are here

public function NameMatchField::fieldRender in CRM Core 7

This function is going to add a number of fields based on what the name field is configured to display.

The name field uses text and select fields to set values we will need to pass information into other field handlers to get the right records to pass back.

Overrides DefaultMatchingEngineFieldType::fieldRender

See also

DefaultMatchingEngineFieldType::fieldRender()

File

modules/crm_core_default_matching_engine/includes/NameMatchField.inc, line 21
Implementation of DefaultMatchingEngineFieldTypeInterface for name fields.

Class

NameMatchField
Class for evaluating name fields.

Code

public function fieldRender($field, $field_info, &$form) {
  foreach ($field_info['columns'] as $item => $info) {
    if ($field['settings']['inline_css'][$item] != 'display:none') {
      $field_item['field_name'] = $field['field_name'];
      $field_item['label'] = $field['label'] . ': ' . $field_info['settings']['labels'][$item];
      $field_item['bundle'] = $field['bundle'];
      $field_item['field_item'] = $item;
      if (isset($field['settings'][$item . '_field']) && $field['settings'][$item . '_field'] == 'select') {
        $item = new selectMatchField();
        $item
          ->fieldRender($field_item, $field_info, $form);
      }
      else {
        $item = new textMatchField();
        $item
          ->fieldRender($field_item, $field_info, $form);
      }
    }
  }
}