Download the PHP package notdest/yandex-yml-generator without Composer
On this page you can find all versions of the php package notdest/yandex-yml-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package yandex-yml-generator
Yml генератор на php
Генератор YML для быстрого подключения вашего магазина к Yandex.Market.
- Встраивается по принципу «Удали лишнее из примера».
- Очень прост, состоит из всего двух классов -
ymlDocument
иymlOffer
. - Зависит только от встроенных библиотек -
php-xml
иphp-mbstring
, обычно они уже установлены.
Установка
Если без композера - подсоединяем два файла из папки /src/
, как в примерах.
Проверка работоспособности
Скачиваем проект и запускаем пример сервисом Яндекса.
Устройство примеров
Для каждого типа описаний сделан свой пример использования по принципу "удали лишнее". Порядок следования полей такой же, как и в документации, за исключением вынесенных в конструктор. Примеры выглядят вот так:
Здесь arbitrary()
создает предложение типа «произвольный», в него вынесены гарантированно обязательные поля. Метод cbid()
уже не обязателен, его можно просто удалить, если он не нужен. Метод url()
также можно удалить, но без него не будет работать модель «Переход на сайт» . Далее, метод vat()
описан в документации, но отсутствует в xsd-схеме указанной в технических требованиях и не проходит валидацию.
Каждая строчка имеет комментарий. Файлы примеров:
Тип предложения | Пример | Дата валидации |
---|---|---|
Упрощенный | examples/simple.php | 11.08.2019 |
Произвольный | examples/arbitrary.php | 11.08.2019 |
Книги | examples/book.php | 11.08.2019 |
Аудиокниги | examples/audiobook.php | 11.08.2019 |
Аудио и видеопродукция | examples/artist.php | 11.08.2019 |
Туры | examples/tour.php | 11.08.2019 |
Мероприятия | examples/event.php | 11.08.2019 |
Лекарства | examples/medicine.php | 11.08.2019 |
Валидация проводилась с помощью сервиса Яндекса, указывая тип "Маркет".
Сверить с документацией Яндекса
Документация у Яндекса сделана преимущественно в виде таблиц. Соответственно я задокументировал свои примеры такими же таблицами с аналогичным порядком следования полей, описав текущие правила и ограничения. Просто открываете рядом два окна браузера, с документацией Яндекса и моей, и ищете различия. Нет различий - хорошо, есть - пишете на e-mail в профиле.
Таблица Яндекса | Таблица моя |
---|---|
Общие поля магазина | Общие поля магазина |
Упрощенный тип | Упрощенный тип |
Произвольный тип | Произвольный тип |
Книги | Книги |
Аудиокниги | Аудиокниги |
Аудио и видеопродукция | Аудио и видеопродукция |
Туры | Туры |
Мероприятия | Мероприятия |
Лекарства | Лекарства |
Не обязательно проверять все, используются обычно общие поля и какой-то один тип.
Также был сделан нагрузочный тест examples/stress-test.php. Для генерации файла объемом 500 Мб (максимально разрешенный Яндексом) понадобилось 143 секунды, потребление памяти составило 2 Мб. Или 31 секунда на моем новом компе.
В случае необходимости внести изменения, рекомендую сначала ознакомиться с документацией по классам ymlOffer.
P.S. Ставь звездочки, если считаешь, что проект должен быть в топе.