Поиск на сайте с помощью XML

djvavik

Местный житель
Регистрация
27 Авг 2013
Сообщения
170
Реакции
21
1.Есть интернет магазин на оpencart c ЛК.

2. Есть XML Поиск от ruspo.

3. Как создать готовый модуль поиска туров с помощью XML?

4. После создания модуля, как сделать так, что бы клиент после выбора тура увидел его в корзине? Т.е. при выборе тура попадало в корзину для оформления заказа?

5. Пример реализации: Для просмотра ссылки Войди или Зарегистрируйся
_________________________________________________________________________________________________

В XML особо не понимаю, но пишут, что для того кто понимает расплюнуть.
_________________________________________________________________________________________________

Документация по XML поиску

В каждом запросе к XML-шлюзу необходимо передавать три обязательных параметра:
Для просмотра ссылки Войди или Зарегистрируйся
Справочник стран по переданному городу вылета Для просмотра ссылки Войди или Зарегистрируйся
Справочник курортов по выбранной стране Для просмотра ссылки Войди или Зарегистрируйся
Справочник звездности отелей Для просмотра ссылки Войди или Зарегистрируйся
Справочник типов питания Для просмотра ссылки Войди или Зарегистрируйся
Справочник отелей по стране Для просмотра ссылки Войди или Зарегистрируйся
Дополнительные возможности

Получение списка отелей по курортуДля просмотра ссылки Войди или Зарегистрируйся
Получение списка отелей по курорту и по части имени отеляДля просмотра ссылки Войди или Зарегистрируйся
Получение списка отелей по звездности отеля и странеДля просмотра ссылки Войди или Зарегистрируйся
STARS - это ID звездностей из справочника через запятую
Поиск туров

Пример ссылки: Для просмотра ссылки Войди или Зарегистрируйся

Обязательные параметры:
COUNTRYИдентификатор страны тура
CITYИдентификатор город вылета
Необязательные параметры:
NIGHTSFROMКоличество ночей от (по умолчанию 3)
NIGHTSTOКоличество ночей до (по умолчанию 14)
DATEFROMДата вылета от (по умолчанию сегодня +1 день) в формате dd.MM.yyyy
DATETOДата вылета до (по умолчанию сегодня +6 дней) в формате dd.MM.yyyy
ADULTКоличество взрослых туристов (по умолчанию 2)
CHILDRENКоличество детей (по умолчанию 0)
CHILD1,CHILD2,CHILD3возраст детей (по умолчанию 0)
STARSСписок идентификаторов звездности отелей из справочников через запятую
FOODSСписок идентификаторов типов питания из справочников через запятую
RESORTSСписок идентификаторов курортов из справочников через запятую
HOTELSСписок идентификаторов отелей из справочников через запятую
MINPRICEМинимальная цена тура
MAXPRICEМаксимальная цена тура
NOHOTEL=1Не показывать отели в стопе
NOTICKET=1Не показывать СПО без авиабилетов
UE=1Показывать цены в валюте тура
NOREQUEST=1Не показывать авиабилеты "под запрос"
FAST=1Быстрый поиск
При быстром поиске уменьшается тайм-аут запросов, результаты от "тормозящих" ТО не попадают в выдачу
light=0Версия поиска
"light=0" - Full версия, "light=1" - Light версия. По умолчанию light=1
Full (полная ) версия - отображает 'полную картину' ценовых предложений, выполняется в среднем 40 секунд ( 100-200 шт. от каждого оператора )
Light ( облегченная ) версия - выполняется быстро, имеет ограничение на кол-во туров (40-100 шт. от каждого оператора)
Пример XML-результатов поиска

searchresults.png

Асинхронный поиск

При первом запросе добавляем параметр async=1
Практически мгновенно получаем ответ вида <tours session="T__26670bee90934e9eaa3c57e20da5efa9"/>
Добавляем к запросу вместо async=1 параметры Session=T__26670bee90934e9eaa3c57e20da5efa9&paging=on&page=1 и получаем первую страницу найденных НА МОМЕНТ ЗАПРОСА туров. Меняя номер страницы получаем остальные данные.
 
Если объем данных не фантастически велик, то почему бы не сделать поиск на клиенте используя jquery, есть парсер Для просмотра ссылки Войди или Зарегистрируйся а дальше ловкость рук.
 
Если объем данных не фантастически велик, то почему бы не сделать поиск на клиенте используя jquery, есть парсер Для просмотра ссылки Войди или Зарегистрируйся а дальше ловкость рук.

Зачем парсер, если есть готовые шлюзы (описано выше). Я бы хотел узнать как построить код исходя из моих клиентских данных, засунуть в таблицу и прикрутить кнопку купить с попаданием в корзину?
 
$dom = Для просмотра ссылки Войди или Зарегистрируйся или Для просмотра ссылки Войди или Зарегистрируйся
а дальше проход по циклу и работа со свойствами объекта
PHP:
foreach ($dom->tour as $tour) {
  $country = (string)$tour->country;
  $room = (string)$tour->room;
  и т.д.
}
 
$dom = Для просмотра ссылки Войди или Зарегистрируйся или Для просмотра ссылки Войди или Зарегистрируйся
а дальше проход по циклу и работа со свойствами объекта
PHP:
foreach ($dom->tour as $tour) {
  $country = (string)$tour->country;
  $room = (string)$tour->room;
  и т.д.
}

Простите за тупость, а куда данный код вставлять?
 
Это подсказка по решению задачи, а не готовый код парсинга.

Вставлять после кода авторизации :)


_________________________________________________________________________________________________

В XML особо не понимаю, но пишут, что для того кто понимает расплюнуть.
_________________________________________________________________________________________________


Сколько примерно будет стоит работа по написанию готового кода?
 
Я еще раз пересмотрел Ваш пост. Итак, есть готовые данные в XML и их вам надо положить в opencart, верно?
Если это так, то:
1. Подготовить магаз:
-добавить специфичные поля для товаров (туров)
-закастомить карточку товара (добавить карту, даты и т.д.), с учетом срока годности поездки
-закастомить список поездок, добавить даты и т.д.
-админка, тоже куча изменений, авто выключение просроченных поездок и т.д.
-мега поиск и фильтр
...
2. Нарисовать модуль импорта из XML по Вашим конкретным данным.

Это очень приличная работа, опенкарт не ориентирован на товары с истечением срока актуальности.
 
Я еще раз пересмотрел Ваш пост. Итак, есть готовые данные в XML и их вам надо положить в opencart, верно?
Если это так, то:
1. Подготовить магаз:
-добавить специфичные поля для товаров (туров)
-закастомить карточку товара (добавить карту, даты и т.д.), с учетом срока годности поездки
-закастомить список поездок, добавить даты и т.д.
-админка, тоже куча изменений, авто выключение просроченных поездок и т.д.
-мега поиск и фильтр
...
2. Нарисовать модуль импорта из XML по Вашим конкретным данным.

Это очень приличная работа, опенкарт не ориентирован на товары с истечением срока актуальности.

не совсем так я это представляю. Нужно построить модуль который будет черпать данные xml. Обычный модуль поиска туров. К примеру при результате выдает туры, далее к товарам никакого значения не имеет, сам модуль может быть на Java. но нужно прикрутить кнопку купить. После нажатия кнопки параметры тура переходят в корзину для оформления заказа. Т.е. в системе товары числиться не будут.

Я имею ввиду, что не надо нагружать систему сайта с добавлением постоянно новых товаров. Вот почему XML, точнее думаю в его сторону.

Так же предоставляют готовый модуль поиска туров на Java script, но при выборе тура есть только оставить заявку на тур, можно и с он лайн покупкой, но покупка будет происходить на стороне как бы хозяина модуля. Т.е. в ЛК клиент заказ не увидит. В принципе в этом проблема.

Если реально мега проект, то прошу отговорить, буду думать в другую сторону.
------------------------------------------------------------------------------------------------------------------

Вот думаю еще в другую сторону:

1. необходим фильтр товаров по календарю ( не разу не встречал)

2. Я нашел готовый модуль создания заказа и прикрепления заказа к аккаунту клиента.

(Т.е. клиент нашел продукт из готового модуля поиска туров, который предоставляет sletat.ru или ruspo связываемся с ним , оформляем заказ, прикрепляем, клиент оплачивает)

3. Я нашел готовый модуль для прикрепления документов к конкретному аккаунту. Т.е. могу приложить документы на вылет.

4. Самая большая загвоздка!: необходимо при оформление заказа добавить или изменить поля, точнее шаги ( создать форму заполнения загран паспортов турисов, если туристов двое, то при оформление клиент нажимает добавить еще туриста и раскрывается вторая форма, но для другого туриста, либо что бы была зависимость от кол-ва товара, кол-во форм)

Про зависимость:

1.Создаем товар (напр. Чехия, отель такой то, 7 ночей, доп полей не нужно - это один товар)

2. Меняем наз.поля кол-во товара на кол-во туристов.

3. Допустим клиент выбирает кол-во равное двум.
4. При оформление в шаге ввода данных загран паспорта должно появиться две форму на туриста один и на туриста два.

5. Если три туриста, то должно появиться 3 формы ввода загран паспорта.

Суть в том, что я уперся в фильтр по календарю и в оформлении заказа клиентов (ввод загран паспортов) и проект готов.

Пример onlinetours.ru ( я так понял сайт на opencart)
------------------------------------------------------------------------------------

Нашел модуль фильтр по датам.

Осталось разобраться с самым сложным с офрмлением заказа, мб. кто подскажет?
 
Последнее редактирование:
Назад
Сверху