Views: Поиск по нескольким CCK-полям в одном input'е. Как сделать? Помогите

Главные вкладки

Аватар пользователя homenets@drupal.org homenets@drupal.org 29 мая 2010 в 18:18

Для поиска использую exposed filter.
Но изначально он выделяет для поиска каждого cck-поля свое поле формы поиска.
Мне же нужно сделать одно текстовое поле поиска материалов, в котором можно было бы указывать значение любого из полей.

Кто-нибудь может подсказать как сделать?

Комментарии

Аватар пользователя ygerasimov@drupal.org ygerasimov@drup... 29 мая 2010 в 19:23

Можно сделать computed field, в котором хранить сумму всех полей, по которым нужно искать. Потом сделать фильтр по этому полю, но его не выводить.

Аватар пользователя ygerasimov@drupal.org ygerasimov@drup... 30 мая 2010 в 16:01

Обухов Никита wrote:
А потом гадать, почему друпал такой тормозной.

Хорошо, есть другое решение -- написать свой filter handler под этот вьюс, который сделает необходимое условие sql запроса для поиска по всем нужным полям. А с другой стороны на computed field поле в таблице можно будет сделать индекс.

Так какое решение будет более правильным с точки зрения производительности? И на сколько это будет правильным с точки зрения трудозатрат?

Аватар пользователя real_stranger real_stranger 1 июня 2010 в 16:57

"<a href="mailto:ygerasimov@drupal.org">ygerasimov@drupal.org</a>" wrote:
Опубликовано ygerasimov@drup... в сб, 29/05/2010 - 18:23.Новое

Можно сделать computed field, в котором хранить сумму всех полей, по которым нужно искать. Потом сделать фильтр по этому полю, но его не выводить.

А можно поподробнее, как это сделать? Стоит задача как раз таки посчитать сумму числовых полей из разных нод одного типа материала

Аватар пользователя real_stranger real_stranger 3 июня 2010 в 12:49

"<a href="mailto:homenets@drupal.org">homenets@drupal.org</a>" wrote:
computed field тоже подойдет для твоей задачи.

сомневаюсь, мне нужно считать суммы и разности собирая поля, при чём не всегда одно и тоже поле+плюс выводить надо с помощью вьювс, я думаю, что нужно правильный запрос вручную в темизации поля прописать...