public function DataProviderManager::getDataProviderByFieldDefinition in Geolocation Field 8.2
Same name and namespace in other branches
- 8.3 src/DataProviderManager.php \Drupal\geolocation\DataProviderManager::getDataProviderByFieldDefinition()
Return DataProvider by field type.
Parameters
\Drupal\Core\Field\FieldDefinitionInterface $fieldDefinition: Field definition.
array $configuration: Configuration.
Return value
\Drupal\geolocation\DataProviderInterface|false Data provider.
File
- src/
DataProviderManager.php, line 77
Class
- DataProviderManager
- Search plugin manager.
Namespace
Drupal\geolocationCode
public function getDataProviderByFieldDefinition(FieldDefinitionInterface $fieldDefinition, array $configuration = []) {
$definitions = $this
->getDefinitions();
try {
foreach ($definitions as $dataProviderId => $dataProviderDefinition) {
/** @var \Drupal\geolocation\DataProviderInterface $dataProvider */
$dataProvider = $this
->createInstance($dataProviderId, $configuration);
if ($dataProvider
->isFieldGeoOption($fieldDefinition)) {
$dataProvider
->setFieldDefinition($fieldDefinition);
return $dataProvider;
}
}
} catch (\Exception $e) {
return FALSE;
}
return FALSE;
}