function apachesolr_views_handler_argument_optionwidget::query in Apache Solr Views 6
Override query() and do some fancy manipulation of the argument so that it is boiled down to the actual field value instead of the nice title
Overrides apachesolr_views_handler_argument::query
File
- handlers/
apachesolr_views_handler_argument_optionwidget.inc, line 14 - Provides an argument handler for optionwidgets so they can use their allowed values
Class
- apachesolr_views_handler_argument_optionwidget
- @file Provides an argument handler for optionwidgets so they can use their allowed values
Code
function query() {
$field = $this->definition['cck_field'];
foreach (content_allowed_values(content_fields($field['field_name'])) as $allowed_value => $nice_text) {
$options[$allowed_value] = strtolower(str_replace(' ', '-', $nice_text));
}
if (!empty($this->options['break_phrase'])) {
$arguments = explode(',', $this
->get_value());
}
else {
$arguments = array(
$this
->get_value(),
);
}
// time to set the arguments to something new
$new_arguments = array();
foreach ($arguments as $value) {
$key = array_search($value, $options);
if (!empty($key)) {
$new_arguments[] = $key;
}
else {
// TODO: do we need to do something here?
}
}
foreach ($new_arguments as $facet_value) {
$this->query
->add_filter($this->real_field, apachesolr_views_query::escape_term($facet_value));
}
}