function _get_view_results_for_term_reference_field in Taxonomy Term Reference Filter by Views 7.2
Get the TermsImplements hook_views_plugins_alter().
1 call to _get_view_results_for_term_reference_field()
- _get_referencable_terms_from_view in ./
term_reference_filter_by_views.module - Get the TermsImplements hook_views_plugins_alter().
File
- ./
term_reference_filter_by_views.module, line 292
Code
function _get_view_results_for_term_reference_field($field, $instance, $match = NULL, $limit = 0, $ids = NULL) {
$display_name = $instance['view']['display_name'];
$args = $instance['view']['args'];
$result = array();
$view_name = $instance['view']['view_name'];
$display_name = $instance['view']['display_name'];
$args = $instance['view']['args'];
$entity_type = 'taxonomy_term';
// Check that the view is valid and the display still exists.
$view = views_get_view($view_name);
if (!$view || !isset($view->display[$display_name]) || !$view
->access($display_name)) {
watchdog('term_reference_filter_by_views', 'The view %view_name is no longer eligible for the %field_name field.', array(
'%view_name' => $view_name,
'%field_name' => $instance['label'],
), WATCHDOG_WARNING);
return $result;
}
$view
->set_display($display_name);
// Make sure the query is not cached.
$view->is_cacheable = FALSE;
// Pass options to the display handler to make them available later.
$term_reference_options = array(
'match' => $match,
'match_operator' => isset($instance['view']['match_operator']) ? $instance['view']['match_operator'] : 'CONTAINS',
'limit' => $limit,
'ids' => $ids,
);
$view->display_handler
->set_option('term_reference_options', $term_reference_options);
// Get the results.
$result = $view
->execute_display($display_name, $args);
return $result;
}