function EntityReference::getSubHandlerOptions
Get all selection plugins for this entity type.
Return value
string[] The selection handlers available for the target entity ID of the filter.
3 calls to EntityReference::getSubHandlerOptions()
- EntityReference::buildExtraOptionsForm in core/
modules/ views/ src/ Plugin/ views/ filter/ EntityReference.php - Provide a form for setting options.
- EntityReference::submitExtraOptionsForm in core/
modules/ views/ src/ Plugin/ views/ filter/ EntityReference.php - Perform any necessary changes to the form values prior to storage.
- EntityReference::validateExtraOptionsForm in core/
modules/ views/ src/ Plugin/ views/ filter/ EntityReference.php - Validate the options form.
File
-
core/
modules/ views/ src/ Plugin/ views/ filter/ EntityReference.php, line 166
Class
- EntityReference
- Filters a view by entity references.
Namespace
Drupal\views\Plugin\views\filterCode
protected function getSubHandlerOptions() : array {
if ($this->handlerOptions) {
return $this->handlerOptions;
}
$entity_type = $this->getReferencedEntityType();
$selection_plugins = $this->selectionPluginManager
->getSelectionGroups($entity_type->id());
$this->handlerOptions = [];
foreach (array_keys($selection_plugins) as $selection_group_id) {
// We only display base plugins (e.g. 'default', 'views', ...).
if (array_key_exists($selection_group_id, $selection_plugins[$selection_group_id])) {
$this->handlerOptions[$selection_group_id] = (string) $selection_plugins[$selection_group_id][$selection_group_id]['label'];
}
elseif (array_key_exists($selection_group_id . ':' . $entity_type->id(), $selection_plugins[$selection_group_id])) {
$selection_group_plugin = $selection_group_id . ':' . $entity_type->id();
$this->handlerOptions[$selection_group_plugin] = (string) $selection_plugins[$selection_group_id][$selection_group_plugin]['base_plugin_label'];
}
}
return $this->handlerOptions;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.