public function FilterSettingsForm::getReferencedTaxonomyFields in Open Social 10.3.x
Same name and namespace in other branches
- 10.0.x modules/social_features/social_activity/modules/social_activity_filter/src/Form/FilterSettingsForm.php \Drupal\social_activity_filter\Form\FilterSettingsForm::getReferencedTaxonomyFields()
- 10.1.x modules/social_features/social_activity/modules/social_activity_filter/src/Form/FilterSettingsForm.php \Drupal\social_activity_filter\Form\FilterSettingsForm::getReferencedTaxonomyFields()
- 10.2.x modules/social_features/social_activity/modules/social_activity_filter/src/Form/FilterSettingsForm.php \Drupal\social_activity_filter\Form\FilterSettingsForm::getReferencedTaxonomyFields()
Helper function to find all referenced taxonomy fields.
Parameters
array $vocabulary_list: Array of vocabulary id's.
Return value
array Mapped array: vid => taxonomy_field.
1 call to FilterSettingsForm::getReferencedTaxonomyFields()
- FilterSettingsForm::submitForm in modules/
social_features/ social_activity/ modules/ social_activity_filter/ src/ Form/ FilterSettingsForm.php - Form submission handler.
File
- modules/
social_features/ social_activity/ modules/ social_activity_filter/ src/ Form/ FilterSettingsForm.php, line 162
Class
- FilterSettingsForm
- Provides a settings form of activity filter.
Namespace
Drupal\social_activity_filter\FormCode
public function getReferencedTaxonomyFields(array $vocabulary_list) {
$content_types = $this->entityTypeManager
->getStorage('node_type')
->loadMultiple();
$field_names = [];
foreach ($vocabulary_list as $vocabulary) {
foreach ($content_types as $content_type => $type) {
$field_definitions = $this->entityFieldManager
->getFieldDefinitions('node', $content_type);
foreach ($field_definitions as $field_definition) {
if ($field_definition
->getType() == 'entity_reference' && $field_definition
->getSetting('target_type') == 'taxonomy_term') {
$handler_settings = $field_definition
->getSetting('handler_settings');
if (isset($handler_settings['target_bundles'][$vocabulary])) {
if (isset($field_names[$vocabulary])) {
continue;
}
$field_names[$vocabulary] = $field_definition
->getName();
}
}
}
}
}
return $field_names;
}