public function LocationInputManager::getForm in Geolocation Field 8.3
Same name and namespace in other branches
- 8.2 src/LocationInputManager.php \Drupal\geolocation\LocationInputManager::getForm()
Alter output.
Parameters
array $settings: Option settings.
mixed $context: Context.
array|null $default_value: Form values.
Return value
array Centre value.
File
- src/
LocationInputManager.php, line 222
Class
- LocationInputManager
- Search plugin manager.
Namespace
Drupal\geolocationCode
public function getForm(array $settings, $context = NULL, array $default_value = NULL) {
$form = [];
/*
* Centre handling.
*/
foreach ($settings as $option_id => $option) {
// Ignore if not enabled.
if (empty($option['enable'])) {
continue;
}
if (!$this
->hasDefinition($option['location_input_id'])) {
continue;
}
/** @var \Drupal\geolocation\LocationInputInterface $location_input_plugin */
$location_input_plugin = $this
->createInstance($option['location_input_id']);
$plugin_form = $location_input_plugin
->getForm($option_id, empty($option['settings']) ? [] : $option['settings'], $context, $default_value);
if ($plugin_form) {
$form = NestedArray::mergeDeep($plugin_form, $form);
}
}
return $form;
}