Autocomplete is searching only on entity properties (not fields)

http://drupal.org/node/1691612
Signed-off-by: bachy <git@g-u-i.net>
This commit is contained in:
bachy 2012-10-27 12:41:54 +02:00
parent a3196f9486
commit a981ba0fcd
2 changed files with 24 additions and 1 deletions

View File

@ -0,0 +1,18 @@
diff --git a/views/entityreference_plugin_display.inc b/views/entityreference_plugin_display.inc
index 1fc6450..b9a956d 100644
--- a/views/entityreference_plugin_display.inc
+++ b/views/entityreference_plugin_display.inc
@@ -76,7 +76,12 @@
foreach ($style_options['search_fields'] as $field_alias) {
if (!empty($field_alias)) {
// Get the table and field names for the checked field
- $field = $this->view->query->fields[$this->view->field[$field_alias]->field_alias];
+ if (empty($this->view->field[$field_alias]->field_info))
+ $field = $this->view->query->fields[$this->view->field[$field_alias]->field_alias];
+ else {
+ $this->view->query->add_field($this->view->field[$field_alias]->options['table'], $this->view->field[$field_alias]->real_field, $this->view->field[$field_alias]->options['field'], array());
+ $field = $this->view->query->fields[$this->view->field[$field_alias]->options['field']];
+ }
// Add an OR condition for the field
$conditions->condition($field['table'] . '.' . $field['field'], $value, 'LIKE');
}

View File

@ -76,7 +76,12 @@ class entityreference_plugin_display extends views_plugin_display {
foreach ($style_options['search_fields'] as $field_alias) {
if (!empty($field_alias)) {
// Get the table and field names for the checked field
$field = $this->view->query->fields[$this->view->field[$field_alias]->field_alias];
if (empty($this->view->field[$field_alias]->field_info))
$field = $this->view->query->fields[$this->view->field[$field_alias]->field_alias];
else {
$this->view->query->add_field($this->view->field[$field_alias]->options['table'], $this->view->field[$field_alias]->real_field, $this->view->field[$field_alias]->options['field'], array());
$field = $this->view->query->fields[$this->view->field[$field_alias]->options['field']];
}
// Add an OR condition for the field
$conditions->condition($field['table'] . '.' . $field['field'], $value, 'LIKE');
}