Skip to content

😎 Генератор YML для Яндекс.Маркет на php, не требует других библиотек.

Notifications You must be signed in to change notification settings

notdest/yandex-yml-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yml генератор на php

Генератор YML для быстрого и безболезненного подключения вашего магазина к Yandex.Market. Основные фишки:

Ультимативно прост. Состоит из двух файлов: ymlDocument.php и ymlOffer.php. В них соответственно объявлены классы ymlDocument и ymlOffer, унаследованные от встроенных классов DomDocument и DomElement. Никакие сторонние библиотеки и фреймворки не требуются. Может пожаловаться на отсутствие DomElement, что решается установкой пакета php-xml, хотя обычно на хостингах он уже есть.

Быстрая проверка актуальности. Документация у Яндекса сделана преимущественно в виде таблиц. Соответственно я задокументировал свои классы такими же таблицами с аналогичным порядком следования полей, описав текущие правила и ограничения. Просто открываете рядом два окна браузера, с документацией Яндекса и моей, и ищете различия. Нет различий - хорошо, есть - пишете на e-mail в профиле.

Таблица Яндекса Таблица моя
Общие поля магазина Общие поля магазина
Упрощенный тип Упрощенный тип
Произвольный тип Произвольный тип

Остальные типы пока на подходе. Кстати не обязательно их все проверять, используются обычно общие поля и какой-то один тип.

Простота встраивания. Для каждого типа описаний сделан свой пример использования по принципу "удали лишнее". Порядок следования полей такой же, как и в документации, за исключением вынесенных в конструктор. Примеры выглядят вот так:

// model, vendor, id, price, currencyId, categoryId	, [price from - "цена от ххх руб." ]
$offer = $y->arbitrary( '3811', 'Brand', 'id01id1111', 900, "USD", 15 /* , true*/ );

$offer	->cbid(80)				//	Размер ставки на карточке товара. 0,8 у.е.
	->url("http://magaz.ru/tovar.html")	// !!!	условно обязательный. URL страницы товара 

Здесь arbitrary() создает предложение типа «произвольный», в него вынесены гарантированно обязательные поля. Метод cbid() уже не обязателен, его можно просто удалить, если он не нужен. Метод url() также можно удалить, но без него не будет работать модель «Переход на сайт» . Каждая строчка имеет комментарий, но тут возникают проблемы - в Sublime Text всё идеально, в встроенном в linux Mint блокноте изредка что-то уезжает, а вот на github-е уже прилично едет. Ну и с другими редакторами такое тоже бывает. Файлы примеров:

Тип предложения Пример
Упрощенный examples/simple.php
Произвольный examples/arbitrary.php

Остальные будут немного позже.

About

😎 Генератор YML для Яндекс.Маркет на php, не требует других библиотек.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages