Формы поиска, ссылающиеся на актуальную страницу поиска - PullRequest
0 голосов
/ 27 июля 2010

Я создал страницу поиска с использованием открытых фильтров и модуля просмотра.Пользователь может выбирать из различных значений, чтобы получить таблицу с конкретными результатами (возвращая поля узла).Эта страница находится по адресу mysite.com/search.Проблема в том, что я хотел бы разместить упрощенную версию формы поиска на своей домашней странице (скажем, просто поле поиска по ключевым словам + один или два флажка).Это может быть блок или вид.Когда пользователь нажимает кнопку поиска, я бы хотел перенаправить его на страницу поиска и показать результаты.Здесь пользователь сможет уточнить свой поиск обычным способом.Я думаю, что это может быть достигнуто с помощью параметров HTTP GET и указанием на фактический сайт поиска.Однако мне было интересно, смогу ли я сделать это без жесткого кодирования форм на моей домашней странице, то есть с использованием представлений, блоков и т. Д. Надеюсь, это имеет смыслЛюбая помощь будет оценена.

1 Ответ

2 голосов
/ 27 июля 2010

Редактировать

Конечным результатом является то, что вы хотите, чтобы одна форма выводила вас на страницу результатов поиска, а другая - на саму страницу результатов поиска. Это решение выполняет это путем создания двух идентичных представлений с разными фильтрами для каждой формы.

Когда кто-то использует упрощенную форму, он попадает на example.com/search, а когда он находится на этой странице и использует расширенную форму, он попадает на example.com/search/advanced. Поскольку представления совпадают с похожими путями, конечный пользователь не будет знать разницу.

Вот как это сделать:

  1. Создать представление для результатов поиска. Используйте дисплей по умолчанию для настройки результатов поиска, как вы хотите. Для фильтров используйте только автоматические фильтры: не добавляйте то, что вы хотите, чтобы пользователь мог фильтровать.
  2. Создать новую страницу отображения в этом представлении. Дайте ему путь search . Это будет страница результатов, на которую пользователь попадает при использовании вашей упрощенной формы поиска.
  3. В отображении этой страницы переопределите фильтры. Установите и выставьте фильтры, которые вы хотите использовать для упрощенной формы поиска.
  4. Переопределить Выставить форму в блоке в Основные настройки для этого дисплея и установить для него да .
  5. Создайте новое отображение страницы в представлении и укажите для него путь search / advanced . Это будет страница результатов, на которую пользователь попадает при использовании формы расширенного поиска.
  6. Переопределите фильтры для этого экрана, настройте и откройте фильтры, которые вы хотите использовать для формы расширенного поиска.
  7. Переопределить Выставить форму в блоке в Основные настройки для этого дисплея и установить его на да .

Теперь у вас будет две страницы просмотра: search и search / advanced , а также два блока, форма упрощенного поиска и форма расширенного поиска.

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

Теперь включите блок расширенного поиска. Используйте параметры видимости для конкретного пути, чтобы установить видимость:

search
search/*

Допустим, вы хотели создать еще один упрощенный поисковый блок с другим набором фильтров (назовем его альтернативным). Вы также можете сделать это: создать другой вид страницы в вашем представлении, как вы это делали в шагах 2-4, но вместо использования пути search , укажите другой путь: search / alternate, Вы можете добавить столько упрощенных форм с разными фильтрами, сколько захотите, и все они будут иметь форму расширенного поиска и одинаковые результаты при их использовании.

...