function search_api_glossary_search_api_index_fields_submit in Search API AZ Glossary 8
Same name and namespace in other branches
- 8.2 search_api_glossary.module \search_api_glossary_search_api_index_fields_submit()
Save search_api_glossary settings for Search API Index configuration.
1 string reference to 'search_api_glossary_search_api_index_fields_submit'
- search_api_glossary_form_search_api_index_fields_alter in ./
search_api_glossary.module - Add search_api_glossary settings to Search API Index configuration.
File
- ./
search_api_glossary.module, line 161 - Search api glossary module file.
Code
function search_api_glossary_search_api_index_fields_submit($form, FormStateInterface $form_state) {
$values = $form_state
->getValues();
$fields = $values['fields'];
$entity = $form_state
->getFormObject()
->getEntity();
$field_settings_array = $entity
->get('field_settings');
// TODO Cleanup this as per Drupal standards.
\Drupal::configFactory()
->reset('search_api_glossary.settings');
$config = \Drupal::configFactory()
->getEditable('search_api_glossary.settings');
foreach ($fields as $field_name => $field_values) {
$glossary_field_id = 'field_glossaryaz_' . $field_name;
$config_values = array(
'enabled' => 0,
'field_type' => $field_values['type'],
'field_name' => $field_name,
'label' => $field_settings_array[$field_name]['label'],
'glossary_field_id' => $glossary_field_id,
'glossary_field_name' => 'AZ Glossary - ' . $field_settings_array[$field_name]['label'],
'glossary_field_desc' => 'Glossary field for ' . $field_settings_array[$field_name]['label'] . '.',
);
if (isset($field_values['glossary_az']) && $field_values['glossary_az'] == 1) {
$config_values['enabled'] = 1;
$config_values['glossary_az_grouping'] = $field_values['glossary_az_grouping'];
}
// Set the variables.
$config
->set($field_name, $config_values)
->save();
}
drupal_set_message(t("Glossary fields have been created for the chosen fields. These newly created Glossary fields can now be added by clicking on ADD FIELDS button."));
}