2017 © Pedro Peláez
 

library ymlgenerator

generator YML (YandexMarket language)

image

dartvadius/ymlgenerator

generator YML (YandexMarket language)

  • Thursday, January 11, 2018
  • by DartVadius
  • Repository
  • 0 Watchers
  • 0 Stars
  • 9 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

About, (*1)

Generator YML (Yandex Market Language). Uses standard XMLWriter for generating XML file., (*2)

Requirements: PHP 5.5.0 or >= version., (*3)

Generator supports this offer types: - simple (Simplified description of the product offer, no type) - vendor (vendor.model) - bookAudio (audiobook) - bookPaper (book) - event (event-ticket) - media (artist.title) - medicine (medicine) - tour (tour), (*4)

You can create suitable type of offer using this names, see examples below., (*5)

How to use:, (*6)

<?php
use DartVadius\YmlGenerator\YmlFactory;

I. Creating header for yml document, (*7)

$head = YmlFactory::getYml('head');

You can setting up header by few ways:, (*8)

  1. Main part of settings you can set by config file (offer/config/config.php), (*9)

  2. Or using method setAllValues:, (*10)

    $head->setAllValues($values);

where $values is array ['tag name' => 'value'], for example:, (*11)

    [
        'name' => 'company name',
        'url' => 'url to your site main page',
        'platform' => 'platform name',
        etc....
    ]

Full list of tags see below, (*12)

Warning! This method has limitations. To set tags* that represent a list of values, use their own methods, (*13)

*Tags: 'currencies', 'categories', 'delivery-options', (*14)

  1. Or set parameters one by one:
    $head->setName($name)
    ->setCompany($company)
    ->setEmail($email)
    ->setCategory($categories)
    etc...;

II. Creating offers for yml document, (*15)

$simpleOffer = YmlFactory::getYml('simple');
$eventOffer = YmlFactory::getYml('event');
$audioBook = YmlFactory::getYml('bookAudio');

etc..., (*16)

You can setting up offer by few ways:, (*17)

  1. Using method setAllValues:
    $simpleOffer->setAllValues($values);
where $values is array ['tag name' => 'value'], for example:
    [
        'name' => 'product name',
        'price' => 'price',
        'vendor' => 'vendor name',
        etc....
    ]

Full list of tags see below, (*18)

Warning! This method has limitations. To set *tags that represent a list of values, use their own methods, (*19)

*tags: 'delivery-options', 'outlets', 'barcode', 'picture', 'param', 'dimensions', 'rec', 'options', (*20)

  1. Or set parameters one by one:
    $simpleOffer->setName($name)
    ->setModel($model)
    ->setVendor($vendor)
    ->setDeliveryOptions($deliveryOptions)
    etc...;

III. Generating XML, (*21)

$generator = YmlFactory::getYml('generator');

You can generate XML (surprise) by few ways, (*22)

  1. By using array of values
$xml = $generator->generate($head->getHead(), $offers);
where $offers - array with offers:
    [
        $simpleOffer->getOffer(),
        $eventOffer->getOffer(),
        $audioBook->getOffer(),
        etc...
    ]
  1. Setting up offers one by one
    $generator->generateHead($head->getHead());
    $generator->generateOffer($simpleOffer->getOffer());
    $generator->generateOffer($eventOffer->getOffer());
    $generator->generateOffer($audioBook->getOffer());
    etc...
    $xml = $generator->generateFooter();

Full list of supported YML Header Tags:, (*23)

  • name
  • company
  • url
  • currencies
  • categories
  • platform
  • version
  • agency
  • email
  • delivery-options
  • cpa
  • adult

Full list of supported YML Offer Tags, (*24)

  • name
  • id
  • type
  • url
  • price
  • currencyId
  • categoryId
  • picture
  • model
  • vendor
  • vendorCode
  • cbid
  • bid
  • fee
  • oldprice
  • delivery
  • delivery-options
  • available
  • store
  • outlets
  • description
  • sales_notes
  • min-quantity
  • step-quantity
  • manufacturer_warranty
  • country_of_origin
  • adult
  • barcode
  • cpa
  • param
  • weight
  • dimensions
  • downloadable
  • rec
  • ISBN
  • author
  • publisher
  • series
  • year
  • volume
  • part
  • language
  • table_of_contents
  • performed_by
  • performance_type
  • storage
  • format
  • recording_length
  • binding
  • page_extent
  • place
  • date
  • hall
  • hall_part
  • is_premiere
  • is_kids
  • title
  • artist
  • media
  • starring
  • director
  • originalName
  • country
  • days
  • included
  • transport
  • worldRegion
  • country
  • region
  • dataTour
  • hotel_stars
  • room
  • meal
  • price_min
  • price_max
  • options

The Versions

11/01 2018

dev-master

9999999-dev https://github.com/DartVadius/yml

generator YML (YandexMarket language)

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

by Avatar DartVadius

yml yandexmarket yml generator