Архив документов должен обладать системой поиска, поэтому в этой части статьи мы разработаем страницу поиска при помощи модуля Views.Зайдем в меню Site buildings -> Views -> Add для того чтобы создать новое представление Views. Нам нужно заполнить следующие параметры для того чтобы перейти к настройке представления:
- View name (это внутреннее название нашего представления. Его можно использовать в собственном коде для обращения к представлению): doc_search;
- View description (это название, которое будет видеть администратор в общем списке всех представлений): Поиск документов;
- View type (тут указывается основной тип данных, которые мы будем выводить. В нашем случае это Документы, которые и я вляются нодами): Node.
Нажимаем кнопку Next и переходим к настройкам нашего представления. На странице с настройками мы заполним следующие параметры:
- В разделе Basic settings:
- Title (название страницы, которую увидит пользователь): Поиск документов;
- Style (стиль, в котором будут отображаться результаты поиска - таблица): Table;
- Use pager (если в результате поиска найдется больше 20 документов, то включится механизм разбиения на страницы): Full pager;
- Items per page (тут мы указываем количество документов выводимых на одной странице): 20;
- Distinct (указываем, что нам нужно выводить только каждый документ только один раз): установить галочку Distinct;
- Empty text (этот текст увидит пользователь, если результат поиска окажется пустым): По вашему запросу не найдено ни одного документа. Попробуйте уточнить параметры поиска.
- В разделе Fields добавим следующие поля, они будут выводится в качестве колонок нашего списка:
- Node: Title - название документа. Label: Документ; Установим для поля галочку Link this field to its node, при этом название документа станет ссылкой на него.
- Node: Body - в теле документа у нас хранится его назначение. Label: Назначение;
- Content: Состояние (field_doc_status) - состояние документа.
- User: Name - Автор. Label: Автор. Установим для поля галочку Link this field to its user, при этом имя автора станет ссылкой на него, т.е. можно будет зайти в его профиль и посмотреть все созданные им документы.
- В разделе Sort criteria добавим параметры сортировки:
- Content: Дата (field_doc_data) сортировать будем по дате вступления в силу документа, при чем в начале списка должны оказаться самые свежие документы. Для этого параметр Sort order установим в Descending.
- В раздел Filters нам нужно добавить параметры отбора. При чем мы должны указать, что значения этих параметров должны выбирать сами пользователи, что позволит им осуществлять поиск документов:
- Date: Date (node). В настройках поля нажмите кнопку Expose (нажав на эту кнопку мы разрешаем пользователю самому указывать значения для отбора) и укажите следующие параметры:
установите галочку Unlock operator (позволит пользователю самому выбрать тип сравнения);
установите галочку Optional (говорит о том, что значение не обязятельно указывать);
установите галочку Remember (позволяет запоминать значение поля, выбранное пользователем);
Label: Период.
Для того, чтобы указать по какому реквизиту нашего документа фильтровать дату нажмите на кнопку справа от названия поля в разделе Filters в виде шестеренки. В открывшихся настройках установите параметры Date form type: Popup; Granularity: Day; Date field(s): Content: Дата (field_doc_data).
- Node: Title. В настройках поля нажмите кнопку Expose и укажите следующие параметры:
установите галочку Unlock operator;
установите галочку Optional;
установите галочку Remember;
снимите галочку Case sensitive (поскольку мы не хотим, чтобы поиск был регистрозависимым)
Label: Документ.
- Node: Body. В настройках поля нажмите кнопку Expose и укажите следующие параметры:
установите галочку Unlock operator;
установите галочку Optional;
установите галочку Remember;
снимите галочку Case sensitive;
Label: Назначение.
- Content: Вид документа (field_doc_type). В настройках поля нажмите кнопку Expose и укажите следующие параметры:
Operator: Is one of;
Label: Вид документа;
установите галочку Remember.
- Content: Состояние (field_doc_status). В настройках поля нажмите кнопку Expose и укажите следующие параметры:
Operator: Is one of;
Label: Состояние;
установите галочку Remember.
После завершения настройки представления сохраните их нажав кнопку Save.
Теперь нам нужно указать для представления путь и вывести поиск в наше меню навигации. Для этого нужно из наших настроек сделать представление типа Page (страница). Это можно сделать выбрав из выпадающего списка, расположенного над кнопкой Add display, значение Page. При этом под разделом Basic settings появится новый раздел Page settings с двумя параметрами, которые нужно настроить:
- Path - тут укажем путь к странице поиска: search_doc. Таким образом адрес нашей страницы поиска будет выглядеть так: http://arhdoc.ru/search_doc.
- Menu - тут укажем название пункта меню, и, собственно, само меню, где мы хотим видеть ссылку на нашу страницу поиска:
Type: Normal menu entry;
Title: Найти документ;
Menu: Navigation.
Все, создание страницы поиска закончено. Настройки представления должны выглядеть вот так:

А это страница пользователя, как он ее будет видеть на вашем сайте:

Нам осталось сделать еще три представления, но о них в следующей части статьи.
Закладки/поиск этой статьи в: