/** * 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. * * @see DefaultMatchingEngineFieldType::fieldRender() */ 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); } } } }
/** * This function is going to add all addressfield components.. * * @see DefaultMatchingEngineFieldType::fieldRender() */ public function fieldRender($field, $field_info, &$form) { foreach ($field_info['columns'] as $item => $info) { // This separation is rather logical than formal at the moment. $text_items = array('name_line', 'first_name', 'last_name', 'organisation_name', 'administrative_area', 'sub_administrative_area', 'locality', 'dependent_locality', 'thoroughfare', 'premise', 'sub_premise'); $select_items = array('country', 'postal_code'); $field_item['field_name'] = $field['field_name']; $field_item['label'] = $field['label'] . ': ' . $info['description']; $field_item['bundle'] = $field['bundle']; $field_item['field_item'] = $item; if (in_array($item, $select_items)) { $item = new selectMatchField(); $item->fieldRender($field_item, $field_info, $form); } if (in_array($item, $text_items)) { $item = new textMatchField(); $item->fieldRender($field_item, $field_info, $form); } } }