Skip to content

Latest commit

 

History

History
85 lines (63 loc) · 1.79 KB

README.md

File metadata and controls

85 lines (63 loc) · 1.79 KB

YmlGenerator

Yandex.Market YML generator. An extension for Yii framework.

It supports output to a file or browser and uses XMLWriter as xml engine.

For generating xml data you need to create your own generator class and implement four methods:

  • shopInfo()
  • currencies()
  • categories()
  • offers()

For example:

Your config/main.php:

'import'=>array(
    ...
    'ext.YmlGenerator.YmlGenerator',
    ...
),

// application components
'components'=>array(
    ...
    'ymlGenerator'=>array(
        'class'=>'MyYmlGenerator',
        // create file in DOCUMENT_ROOT directory
        'outputFile'=>dirname($_SERVER['SCRIPT_FILENAME']).'/catalogue.yml'
    ),
    ...
)

Your component file:

class MyYmlGenerator extends YmlGenerator {


protected function shopInfo() {
  return array(
      'name'=>'',
      'company'=>'',
      'url'=>'',
      'platform'=>'',
      'version'=>'',
      'agency'=>'',
      'email'=>''
  );
}


protected function currencies() {

  $currencies = ...;
  foreach($currencies as $currecy) {
    $this->addCurrency($id,$rate);
  }
}

protected function categories() {
  $categories = ...;
  foreach($categories as $category) {
    $this->addCategory($name,$id,$parentId);
  }    
}

  protected function offers() {
    $offers = ...;
    foreach($offers as $offer) {
      $this->addOffer($id,$data, $params, $available, $type, $bid, $cbid);
    }
  }

}

Run generator:

 $generator = Yii::app()->ymlGenerator;
 $generator->run();

Description of add* methods you can find in YmlGenerator.php.

More about YML see: http://help.yandex.ru/partnermarket/yml/about-yml.xml