function efq_views_handler_filter_entity_bundle::get_value_options in EntityFieldQuery Views Backend 7
Child classes should be used to override this function and set the 'value options', unless 'options callback' is defined as a valid function or static public method to generate these values.
This can use a guard to be used to reduce database hits as much as possible.
Return value
Return the stored values in $this->value_options if someone expects it.
Overrides views_handler_filter_in_operator::get_value_options
File
- handlers/
efq_views_handler_filter_entity_bundle.inc, line 7
Class
- efq_views_handler_filter_entity_bundle
- Filter based on entity bundle.
Code
function get_value_options() {
if (!isset($this->value_options)) {
$bundles = field_info_bundles($this->definition['entity_type']);
$this->value_title = t('Bundle');
// EFQ: Mixed, display bundles for all entity types
if (!isset($this->definition['entity_type'])) {
foreach ($bundles as $entity_type => $entity_bundles) {
foreach ($entity_bundles as $bundle => $info) {
$label = isset($info['label']) ? $info['label'] : $bundle;
$options[$bundle] = $label;
}
}
}
else {
// Display bundles for the selected entity type only.
foreach ($bundles as $bundle => $info) {
$label = isset($info['label']) ? $info['label'] : $bundle;
$options[$bundle] = $label;
}
}
$this->value_options = $options;
}
}