Download the PHP package pastuhov/yii2-yml-catalog without Composer
On this page you can find all versions of the php package pastuhov/yii2-yml-catalog. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pastuhov/yii2-yml-catalog
More information about pastuhov/yii2-yml-catalog
Files in pastuhov/yii2-yml-catalog
Package yii2-yml-catalog
Short Description YML (Yandex Market Language) generator.
License GPL-2.0
Homepage https://github.com/pastuhov/yii2-yml-catalog
Informations about the package yii2-yml-catalog
Компонент выгрузки каталога товаров в Яндекс.Маркет (YML)
Установка
Via Composer
Features
- легкий
- базируется на официальной документации https://yandex.ru/support/partnermarket/yml/about-yml.xml
Использование
-
Реализуем интерфейсы (примеры реализации всех классов смотри в директории
tests
) -
Создаем консольный контроллер:
- Запускаем из консоли:
Дополнительно
Дополнительно с именем класса, реализации интерфейса, можно передавать следующие параметры:
- Объект класса ActiveQuery, или его наследника.
В данном случае, выборка данных будет производиться с помощью передаваемого ActiveQuery или его наследника; Позволяет использовать уже созданный объект, для выборки данных.
- Объект класса ActiveDataProvider, или его наследника.
В данном случае, выборка данных будет производиться с помощью передаваемого ActiveDataProvider или его наследника;
Позволяет делать выборку данных с использованием постраничной пагинации.
Так-же может быть передан true, в качестве параметра, для автоматического создания объекта класса ActiveDataProvider со значением количества строк в странице равной 1000.
На больших объемах данных, выборка, с использованием ActiveQuery->batch(), расходует оперативную память, гораздо большую, чем значение установленное в конфигурацилнных файлах. (Скорее всего особенности работы библиотеки PDO).
Внимание: Использование ActiveDataProvider увеличивает время генерации выгрузки.
Преобразование символов " & > < ' в html-сущности
Яндекс Маркет ругается на символы " & > < '. Их нужно преобразовывать в html-сущности, чтобы проверка прайса проходила успешно. Чтобы это сделать, в модели необходимо реализовать интерфейс pastuhov\ymlcatalog\EscapedAttributes и определить метод getEscapedAttributes, который возвращает список необходимых для чистки атрибутов. В примере ниже мы указываем, что атрибут name необходимо фильтровать:
Тестирование
или
Проверить качество сгенерируемого файла можно следующими способами:
- Официальным валидатором https://old.webmaster.yandex.ru/xsdtest.xml
- При помощи
xmllint
(пример: xmllint --valid --noout yml-test.xml) - IDE PhpStorm также может помочь
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Kirill Pastukhov
- All Contributors
License
GNU General Public License, version 2. Please see License File for more information.
All versions of yii2-yml-catalog with dependencies
yiisoft/yii2 Version >=2.0.4
pastuhov/php-exec-command Version 1.0.*
pastuhov/php-file-stream Version 1.0.*