2.1 Разметка элементов поискового фильтра

advertisement
_________________________________________________________________________________________________________
Москва, Севастопольский пр-т, 56/40
тел. (495) 334 93 45, 334 93 56
http://www.megatec.ru
_____________________________________________________________________________________________
Скриптовый поиск
Руководство пользователя
Москва, 2016 г.
Скриптовый поиск
Руководство пользователя
Оглавление
Оглавление
Оглавление .....................................................................................................................................2
О программе ...................................................................................................................................3
1 Настройка ...............................................................................................................................3
1.1 Правила HTML-разметки для загрузки поискового фильтра .....................................3
1.1.1
Подключение к html-странице скриптов и каскадных таблиц стилей ...............3
1.1.2
Задание области поискового фильтра на html-странице .....................................4
1.1.2.1
Адрес экрана подбора туров при использовании фреймов ..........................4
2 Подготовка данных ...............................................................................................................4
2.1 Разметка элементов поискового фильтра .....................................................................4
2.1.1
Общие положения ...................................................................................................4
2.1.2
Использование выпадающего списка ....................................................................5
2.1.3
Использование списка чек-боксов .........................................................................5
2.1.4
Использование календаря .......................................................................................5
2.2 Разметка элементов результата поиска.........................................................................6
3 Работа в системе ....................................................................................................................7
Megatec
2
29.04.2016 г
Скриптовый поиск
Руководство пользователя
О программе
Данный модуль предназначен для предоставления возможности самостоятельного
формирования поискового фильтра для подбора тура и либо вывода результата поиска на
той же странице, либо для последующей передачи полученных критериев в поисковую.
Скриптовый поиск позволяет индивидуально настроить поисковый фильтр и
отображение результатов. Т.е. визуально поиск можно будет настроить как угодно,
используя практически любой набор фильтров.
Также скриптовый поиск может понадобиться, в случае, если сайт находится на
хостинге, отличном от хостинга приложения iis.
Он не требует наличия iis на сервере. Его можно встроить в php-сайт или
статичную страницу html.
Полученные критерии могут передаваться в любую поисковую систему по любой
ссылке, но параметры в url будут такие, какие принимает Мастер-Веб.
1 Настройка
Настройки приложения
Программный продукт представляет собой набор скриптовых файлов, написанных
на языке JavaScript, а, следовательно, не предъявляет требований к платформе webсервера, на котором будет опубликован. Получение данных для формирования фильтра
производится через Web-сервис «Сервис по загрузке поискового фильтра» (FilterBinding).
1.1
1.1.1
Правила HTML-разметки для загрузки поискового фильтра
Подключение к html-странице скриптов и каскадных таблиц стилей
Для функционирования программного продукта необходимо в заголовке htmlстраницы (обозначаемом тегами <head></head>) подключить скрипты и каскадные
таблицы стилей, входящих в поставку продукта. Для этого необходимо добавить
следующие строки:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript" src="js/ui.core.js"></script>
<script type="text/javascript" src="js/ui.datepicker.js"></script>
<script type="text/javascript" src="js/ui.datepicker-ru.js"></script>
<link type="text/css" href="css/ui.all.css" rel="stylesheet" />
<script type='text/javascript' src='js/jquery.loadmask.min.js'></script>
<link
type="text/css" href="css/jquery.loadmask.css" rel="stylesheet" />
<script type='text/javascript' src='js/filter.binding.js'></script>
<script type="text/javascript" src="js/search.engine.js"></script>
При этом необходимо учитывать относительность путей, в случае если файлы
продукта находятся не на том же уровне иерархии файлов, что и размечаемая webстраница.
Если какие-либо из файлов данного программного продукта уже были подключены
на странице ранее, добавлять ссылки на них повторно не следует, но необходимо
убедиться, что версии этих файлов не ниже поставляемых с продуктом.
Megatec
3
29.04.2016 г
Скриптовый поиск
Руководство пользователя
Задание области поискового фильтра на html-странице
1.1.2
Область, в которой будут расположены элементы поискового фильтра, должна
быть выделена элементом div с идентификатором searchfilter, а также атрибутами
navigateUrl и filterBindingServiceUrl.
Атрибут navigateUrl задает адрес экрана подбора туров, в который будут переданы
результаты формирования поискового фильтра.
Атрибут filterBindingServiceUrl задает адрес web-сервиса загрузки поискового
фильтра, через который будет происходить загрузка данных.
Пример разметки области поискового фильтра:
<div id="searchfilter"
navigateUrl="http://book.r-express.ru/Extra/QuotedDynamic.aspx"
filterBindingServiceUrl="http://online.rexpress.ru/WSJsSearch/FilterBindingScriptService.asmx" style="width:380px;">
<!--Разметка поискового фильтра-->
</div>
Адрес экрана подбора туров при использовании фреймов
1.1.2.1
При использовании экрана «Скриптовый поиск» во фреймах, атрибут navigateUrl
будет принимать другое значение.
Пример разметки области поискового фильтра:
<div id="searchfilter"
navigateUrl="http://ip-адрес сервера/JSSearch/Results.htm"
filterBindingServiceUrl=" http://online.r-express.ru/WSJsSearch
/FilterBindingScriptService.asmx" style="width:380px;">
<!--Разметка поискового фильтра-->
</div>
Адрес экрана подбора туров, в который будут переданы результаты формирования
поискового фильтра, в этом случае будет задаваться на странице Results.htm:
source = ‘http://book.r-express.ru/extra/quoteddynamic.aspx'
2 Подготовка данных
2.1
2.1.1
Разметка элементов поискового фильтра
Общие положения
Элемент поискового фильтра может быть представлен выпадающим списком
(элемент <select></select>), списком чек-боксов (элемент <div></div>), полем текстового
ввода с зависимым от него календарем (элемент <input></input>).
Элемент поискового фильтра должен содержать идентификатор, определенный в
схеме сервиса загрузки фильтра, и следующие атрибуты:
Название
атрибута
autoPostBack
bindingtype
Описание
Примеры использования
Необходимость отправлять запрос на autoPostBack="true"
загрузку поискового фильтра к web- autoPostBack="false"
сервису, если значение данного элемента
было изменено.
Определение типа критерия поискового bindingtype="TourType"
фильтра, подгружаемого в элемент.
Возможные значения атрибута bindingtype:
Megatec
4
29.04.2016 г
Скриптовый поиск
Руководство пользователя













DepartFrom – город отправления;
Country – страна тура;
TourType – тип тура;
Resort – курорт;
City – город;
Tour – тур;
Hotel – отель;
Room – тип номера;
Nights – продолжительность тура;
HotelStars – категория отеля;
Pansion – питание;
CalendarTourDates – даты тура для использования в выпадающем списке;
CalendarTourDatesJs – даты тура для использования в календаре.
При использовании скриптового поиска в работе с ПК Мастер-Web
обязательными фильтрами являются:
 Город отправления;
 Страна;
 Даты тура.
Использование выпадающего списка
2.1.2
Пример использования:
<select id="lstDepartFrom" bindingtype="DepartFrom" sort="sd_ctfromname"
autoPostBack="true" style="width:230px;" >
<option value="-10"></option>
</select>
Использование списка чек-боксов
2.1.3
При использовании списка чек-боксов, помимо атрибутов, описанных выше,
можно использовать атрибут repeatDirection="horizontal", что приводит к выводу списка
по горизонтали, а не по вертикали, как это происходит при отсутствии атрибута.
Пример использования:
<div repeatDirection="horizontal" id="lstDuration" bindingtype="Nights"
firstItem="Все" sort="sd_nights" autoPostBack="false"
parentNodes="[lstDepartFrom][lstCountry][lstTourType][lstResort][lstCity][lst
Tour]" />
Использование календаря
2.1.4
При использовании календаря атрибут bindingtype у элемента должен быть равен
CalendarTourDatesJs (а не CalendarTourDates, используемый для загрузки дат в
выпадающий список). Также для поля с «Датой тура с» должен использоваться
идентификатор dpTourDateFrom, а для поля с «Датой тура по» должен использоваться
идентификатор dpTourDateTo.
Пример использования:
Megatec
5
29.04.2016 г
Скриптовый поиск
Руководство пользователя
<table>
<tr>
<td>Дата тура c:</td>
<td>
<input type="text" id="dpTourDateFrom"
bindingtype="CalendarTourDatesJs" sort="td_date"
autoPostBack="false"
parentNodes="[lstDepartFrom][lstCountry][lstTourType][lstResort][l
stCity][lstTour]" />
</td>
</tr>
<tr>
<td>Дата тура по:</td>
<td>
<input type="text" id="dpTourDateTo" style="width:65px;"/>
</td>
</tr>
</table>
Разметка элементов результата поиска
Результат поиска отображается в таблице <table id="searchResultTable"
2.2
style="display:none;" searchServiceUrl="http://online.rexpress.ru/WSJsSearch/SearchScriptService.asmx" TotalCount="0" ParsedCount="0">.
Первая строка <tr class="searchResultTableHeader"> описывает заголовок таблицы. Если при
нажатии на заголовок столбца необходимо провести сортировку по его значениям, то в
ячейку заголовка добавляется ссылка следующего вида:
<a href="javascript:SetSort('TurDateSort');"> , где в функцию SetSort передается тип
сортировки.
Возможны следующие типы сортировки:


















По дате заезда, по цене, по категории гостиниц в обратном порядке: TurDateSort =
"pt_tourdate {0}, pt_price, pt_hdstars desc ";
По названию отеля, по цене, по дате заезда: HotelSort = "pt_hdname {0}, pt_price,
pt_tourdate ";
По категории отеля, по цене, по дате заезда: StarsSort = "pt_hdstars {0}, pt_price,
pt_tourdate ";
По названию города, по цене, по категории отеля в обратном порядке, по дате заезда:
RegionSort = "pt_ctname {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По названию типа номера, по цене, по категории отеля в обратном порядке, по дате заезда:
RoomNameSort = "pt_rmname {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По коду типа номера, по цене, по категории отеля в обратном порядке, по дате заезда:
RoomCodeSort = "pt_rmcode {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По названию категории номера, по цене, по категории отеля в обратном порядке, по дате
заезда: RoomCategoryNameSort = "pt_rcname {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По коду категории номера, по цене, по категории отеля в обратном порядке, по дате заезда:
RoomCategoryCodeSort = "pt_rccode {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По названию размещения, по цене, по категории отеля в обратном порядке, по дате заезда:
AccomodationNameSort = "pt_acname {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По коду размещения, по цене, по категории отеля в обратном порядке, по дате заезда:
AccomodationCodeSort = "pt_accode {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По названию питания, по цене, по категории отеля в обратном порядке, по дате заезда:
PansionNameSort = "pt_pnname {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По коду питания, по цене, по категории отеля в обратном порядке, по дате заезда:
PansionCodeSort = "pt_pncode {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По продолжительности тура в ночах, по цене, по категории отеля в обратном порядке, по дате
заезда: NightsSort = "pt_nights {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По цене, по категории отеля в обратном порядке, по дате заезда: PriceSort = "pt_price {0},
pt_hdstars desc, pt_tourdate ";
По валюте, по цене, по категории отеля в обратном порядке, по дате заезда: CurrencySort =
"pt_rate {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По названию тура, по цене, по категории отеля в обратном порядке, по дате заезда: SpoSort
= "pt_tourname {0}, pt_price, pt_hdstars desc, pt_tourdate ";
По типу цены (за человека или за номер), по дате заезда, по цене, по категории отеля в
обратном порядке: PriceForSort = "pt_topricefor {0}, pt_tourdate, pt_price, pt_hdstars
desc ";
По количеству основных мест, по количеству дополнительных мест, по цене, по категории
отеля в обратном порядке: PlacesCountSort = "pt_mainplaces {0}, pt_addplaces {0},
pt_price, pt_hdstars desc ";
Megatec
6
29.04.2016 г
Скриптовый поиск
Руководство пользователя
Далее в строке задается формат отображения вариантов тура. Формат задается
через расставление «закладок», которые будут заменены соответствующими значениями.
Возможные варианты закладок:

















Даты заезда - "%TourDate%"
Название отеля - "%HotelName%"
Ссылка на описание отеля - "%HotelURL%"
Категория отеля - "%HotelCategory%"
Название города - "%CityName%"
Название типа номера - "%RoomName%"
Название категории номера - "%RoomCategoryName%"
Название размещения - "%AccomodationName%"
Название типа питания - "%PansionName%"
Продолжительность в ночах - "%Nights%"
Стоимость - "%Price%"
Валюта - "%Currency%"
Название тура - "%TourName%"
Ссылка на описание тура - "%TourURL%"
Квота на отель - "%HotelQuota%"
Квота на прямой рейс - "%CharterThereQuota%"
Квота на обратный рейс - "%CharterBackQuota%"
Закладки по квотам на перелет задаются с индексом на конце, например:
"%CharterThereQuota0%","%CharterThereQuota1%","%CharterThereQuota2%","%CharterBackQuota0%","%Char
где индекс – порядковый номер класса перелета
заданного в конфигурационном файле сервиса <dynamicCharterClasses mode="complex">,
начиная с нуля.
terBackQuota1%","%CharterBackQuota2%",
3 Работа в системе
Программный продукт предоставляет возможность формирования следующих
критериев подбора тура:
 Город отправления
 Страна тура
 Тип тура
 Курорт
 Город
 Тур
 Отель
 Тип номера
 Продолжительность тура
 Категория отеля
 Питание
 Даты тура
Результатом работы программного продукта является сформированный поисковый
фильтр, готовый к передаче в экран подбора туров.
В поставку программного продукта входит файл FilterBindingClient.htm, задав в
котором адрес расположения web-сервиса загрузки фильтра и экрана поиска, можно
посмотреть пример работы программного продукта, а также изучить формат правильно
размеченного документа.
Megatec
7
29.04.2016 г
Скриптовый поиск
Руководство пользователя
В поставку программного продукта входит файл FilterBindingClientQD.htm, на
котором по нажатию кнопки «Поиск» отображаются результаты отбора. Если задать адрес
расположения web-сервиса загрузки фильтра и экрана поиска в этом файле, то можно
посмотреть пример работы программного продукта, а также изучить формат правильно
размеченного документа.
Megatec
8
29.04.2016 г
Download