2017 © Pedro Peláez
 

library yml-generator

YML (Yandex Market Language) file generator

image

bukashk0zzz/yml-generator

YML (Yandex Market Language) file generator

  • Monday, June 25, 2018
  • by Bukashk0zzz
  • Repository
  • 6 Watchers
  • 33 Stars
  • 949 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 18 Forks
  • 0 Open issues
  • 8 Versions
  • 37 % Grown

The README.md

YML (Yandex Market Language) file generator

Code Coverage License Latest Stable Version Total Downloads, (*1)

About

YML (Yandex Market Language) generator. Uses standard XMLWriter for generating YML file. Not required any other library you just need PHP 5.5.0 or >= version., (*2)

Generator supports this offer types: - OfferCustom (vendor.model) - OfferBook (book) - OfferAudiobook (audiobook) - OfferArtistTitle (artist.title) - OfferTour (tour) - OfferEventTicket (event-ticket) - OfferSimple (empty), (*3)

Installation

Run composer require, (*4)

composer require bukashk0zzz/yml-generator

Or add this to your composer.json file:, (*5)

"require": {
    "bukashk0zzz/yml-generator": "dev-master",
}

Usage examples

<?php

use Bukashk0zzz\YmlGenerator\Model\Offer\OfferSimple;
use Bukashk0zzz\YmlGenerator\Model\Category;
use Bukashk0zzz\YmlGenerator\Model\Currency;
use Bukashk0zzz\YmlGenerator\Model\Delivery;
use Bukashk0zzz\YmlGenerator\Model\ShopInfo;
use Bukashk0zzz\YmlGenerator\Settings;
use Bukashk0zzz\YmlGenerator\Generator;

$file = tempnam(sys_get_temp_dir(), 'YMLGenerator');
$settings = (new Settings())
    ->setOutputFile($file)
    ->setEncoding('UTF-8')
;

// Creating ShopInfo object (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#shop)
$shopInfo = (new ShopInfo())
    ->setName('BestShop')
    ->setCompany('Best online seller Inc.')
    ->setUrl('http://www.best.seller.com/')
;

// Creating currencies array (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#currencies)
$currencies = [];
$currencies[] = (new Currency())
    ->setId('USD')
    ->setRate(1)
;

// Creating categories array (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#categories)
$categories = [];
$categories[] = (new Category())
    ->setId(1)
    ->setName($this->faker->name)
;

// Creating offers array (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#offers)
$offers = [];
$offers[] = (new OfferSimple())
    ->setId(12346)
    ->setAvailable(true)
    ->setUrl('http://www.best.seller.com/product_page.php?pid=12348')
    ->setPrice($this->faker->numberBetween(1, 9999))
    ->setCurrencyId('USD')
    ->setCategoryId(1)
    ->setDelivery(false)
    ->setName('Best product ever')
;

// Optional creating deliveries array (https://yandex.ru/support/partnermarket/elements/delivery-options.xml)
$deliveries = [];
$deliveries[] = (new Delivery())
    ->setCost(2)
    ->setDays(1)
    ->setOrderBefore(14)
;

(new Generator($settings))->generate(
    $shopInfo,
    $currencies,
    $categories,
    $offers,
    $deliveries
);

Adding custom elements

if you need additional offers elements in your yml file using method addCustomElement('type','value'). For example:, (*6)

$offers[] = (new OfferSimple())
    ->setId(12346)
    ->setAvailable(true)
    ->setUrl('http://www.best.seller.com/product_page.php?pid=12348')
    ->setPrice($this->faker->numberBetween(1, 9999))
    ->setCurrencyId('USD')
    ->setCategoryId(1)
    ->setDelivery(false)
    ->setName('Best product ever')
    ->addCustomElement('type', 'value')
;

See LICENSE, (*7)

The Versions

25/06 2018

dev-master

9999999-dev https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.6.1

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator

16/03 2018

v1.5.0

1.5.0.0 https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.6.1

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator

27/12 2017

v1.4.0

1.4.0.0 https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.6.1

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator

26/12 2017

v1.3.0

1.3.0.0 https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.6.1

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator

20/12 2017

v1.2.0

1.2.0.0 https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.6.1

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator

23/10 2017

v1.1.0

1.1.0.0 https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.6.1

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator

20/10 2016

v1.0.0

1.0.0.0 https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.5.0

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator

20/10 2016

dev-develop

dev-develop https://github.com/Bukashk0zzz/YmlGenerator

YML (Yandex Market Language) file generator

  Sources   Download

MIT

The Requires

  • php >=5.5.0

 

The Development Requires

by Denis Golubovskiy

yml yandex market yml-generator