Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Как формируется общий XML-каталог(пример Я.Маркет)


Автор: simbel 17.9.2006, 22:01
Здравствуйте, уважаемые проффи и любители своего дела!

Прошу Вас о помощи. Кто знает, помогите, пожалуйста. У меня появилось желание создать систему поиска товаров в интернет-магазинах (на подобие Яндекс.Маркета). Сразу возник первый основательный вопрос - каким образом лучше строить структуру каталога и связывать ее с внутренними
каталогами каждого магазина (тематическое деление товаров на уровни и подуровни)? Они ведь у всех разные. Кто знает как у Яндекс.Маркета или у других систем? Может кто-то сотрудничал с Маркетом?

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

Автор: Bikutoru 20.9.2006, 12:19
Насколько мне известно, связь между каталогом Яндекса и каталогами их клиентов происходит так:
1. Есть иерархическая структура категорий на Яндекс.Маркет.
2. Каждый клиент формирует свой прайс, в виде XML-файла доступного для скачивания. В этом прайсе каждый товар принадлежит какой-то категории.
3. Происходит регистация XML-прайса на Яндексе (через админку)
4. Устанавливаются связи, т.е. клиент тупо "вбивает", что (например) в категорию "Телефоны" попадают товары из 11, 19 и 48 категории (в его прайсе). Т.е. связь осуществляется на основе разбиения товорв клиентом накакие-то категории и установки связей между категориями клиента и Яндекс.Маркета.
5. XML-прайс скачивается, парсится и заливается в базу Яндекс.Маркета.
6. Товары появляются.

Добавлено @ 12:20 
Возникшее у меня чувство дежавю было неслучайно - http://forum.vingrad.ru/index.php?showtopic=104013

Автор: batigoal 21.9.2006, 16:24
У нас принципиально схожая задача (хотя и совсем из другой области) решается таким образом:
1) поставщик информации (назовем его провайдером) выдает XML в своем формате.
2) Этот документ подается на вход XSL-ки, своей для каждого клиента. На выходе получаем XML стандартного формата.
3) Парсим стандартный файл и кладем в базу.

Разумеется, подход применим только в том случае, когда точно известен каждый клиент, и их число относительно невелико.

Автор: simbel 27.9.2006, 22:37
Цитата(batigoal @  21.9.2006,  16:24 Найти цитируемый пост)
Разумеется, подход применим только в том случае, когда точно известен каждый клиент, и их число относительно невелико. 


Да, Ваш способ не подходит, так как предполагается довольно большое количество клиентов. Всё равно спасибо за помощь.

Автор: simbel 27.9.2006, 22:59
Bikutoru 
Вам тоже очень благодарен. Некоторая ясность появилась и возник новый вопрос. 

Цитата(Bikutoru @  20.9.2006,  12:19 Найти цитируемый пост)
4. Устанавливаются связи, т.е. клиент тупо "вбивает", что (например) в категорию "Телефоны" попадают товары из 11, 19 и 48 категории (в его прайсе). Т.е. связь осуществляется на основе разбиения товорв клиентом накакие-то категории и установки связей между категориями клиента и Яндекс.Маркета.

То есть, как я понял, мы должны во-первых сформировать структуру каталога и зафиксировать уникальные номера категорий. 

Во-вторых, предоставить магазинам списки этих номеров, чтобы они могли "пристегивать" свою внутреннюю нумерацию к нашей. 

Здесь вопрос. Есть два варианта:
1) Мы отдаём этот список магазинам, а они проставляют у себя в XML наши номера? 
или
2) Клиент сообщает нам (через админку?), что в его базе такие-то и такие-то номера соответствуют
каким-то нашим, и ведем список этих соответствий мы для каждого магазина свой?

Как Вы считаете лучше сделать, Как у Яндекса?

Автор: Bikutoru 28.9.2006, 09:22
Цитата(simbel @  27.9.2006,  23:59 Найти цитируемый пост)
Здесь вопрос. Есть два варианта:
1) Мы отдаём этот список магазинам, а они проставляют у себя в XML наши номера? 
или
2) Клиент сообщает нам (через админку?), что в его базе такие-то и такие-то номера соответствуют
каким-то нашим, и ведем список этих соответствий мы для каждого магазина свой?

Обычно используется второй вариант. Он позволяет один и тот же прайс использовать для работы сразу с несколькими торговыми площадками. Могу сказать, что например интернет-магазины, продающие стотвые телефоны, КПК и тому подобные вещи (так уж получилось, что с другими я не сталкивался) практически всегда имеют уже готовый прайс для Яндекс.Маркета. И у разных магазинов разнятся номера категорий, содержащих одни и те же товары. Поэтому если выбрать первый вариант, то прайс придется переделывать специально под вас, что они делают весьма неоходно (ведь гораздо проще несколько чисел в админке вбить, как то требуется во втором варианте!

Автор: simbel 28.9.2006, 23:09
Bikutoru 

И еще у меня есть один вопрос-просьба.

Нам для разработки очень желательно получить примеры файлов магазинов, по возможности, от
нескольких(2-3 шт.). Это помогло бы уже приступать непосредственно к созданию прототипа системы. 

Если есть возможность, Вы могли бы дать пару ссылок на XML-файлы каких-нибудь магазинов для скачивания в качестве примера?

Если такой возможности нет, где можно достать XML-файлы, с кем договориться по этому вопросу? Могли бы Вы дать совет по этому поводу? 

Автор: Bikutoru 29.9.2006, 14:41
Ссылок дать не могу, но могу привести описание формата файла:
http://www.my-shop.ru/help/YML/YML.html
http://partner.market.yandex.ru/legal/tt/ (думаю, что здесь может быть и пример прайса, нужно только хорошо поискать)

Добавлено @ 14:43 
Кстати, у нас в FAQ есть класс для работы с этим форматом http://vingrad.ru/PHP-SRC-002890

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)