protected function SearchApiMultiViewsHandlerFilterOptions::get_wrapper in Search API Multi-Index Searches 7
Retrieves a wrapper for this filter's field.
Return value
EntityMetadataWrapper|null A wrapper for the field which this filter uses.
Overrides SearchApiViewsHandlerFilterOptions::get_wrapper
File
- views/
handler_filter_options.inc, line 16 - Contains the SearchApiMultiViewsHandlerFilterOptions class.
Class
- SearchApiMultiViewsHandlerFilterOptions
- Views filter handler for fields with a limited set of possible values.
Code
protected function get_wrapper() {
list($index_id, $property) = explode(':', $this->real_field, 2);
$index = search_api_index_load($index_id);
if (!$index) {
return NULL;
}
$wrapper = $index
->entityWrapper(NULL, TRUE);
$parts = explode(':', $property);
foreach ($parts as $i => $part) {
if (!isset($wrapper->{$part})) {
return NULL;
}
$wrapper = $wrapper->{$part};
$info = $wrapper
->info();
if ($i < count($parts) - 1) {
// Unwrap lists.
$level = search_api_list_nesting_level($info['type']);
for ($j = 0; $j < $level; ++$j) {
$wrapper = $wrapper[0];
}
}
}
return $wrapper;
}