{"id":14985628,"url":"https://github.com/bukashk0zzz/ymlgenerator","last_synced_at":"2025-04-07T16:17:40.826Z","repository":{"id":41902343,"uuid":"71011766","full_name":"Bukashk0zzz/YmlGenerator","owner":"Bukashk0zzz","description":"YML (Yandex Market Language) file generator","archived":false,"fork":false,"pushed_at":"2024-09-05T10:33:54.000Z","size":113,"stargazers_count":112,"open_issues_count":7,"forks_count":69,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-07T16:17:21.313Z","etag":null,"topics":["yandex","yandex-market","yandex-market-language","yml"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bukashk0zzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-15T20:30:50.000Z","updated_at":"2024-11-15T21:46:09.000Z","dependencies_parsed_at":"2024-12-06T22:02:25.214Z","dependency_job_id":"399c9faf-59c9-4762-9bac-68aa8881c915","html_url":"https://github.com/Bukashk0zzz/YmlGenerator","commit_stats":{"total_commits":47,"total_committers":17,"mean_commits":2.764705882352941,"dds":0.5531914893617021,"last_synced_commit":"a3358db00f2e1d0abec490728e1f9101c96e25bf"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bukashk0zzz%2FYmlGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bukashk0zzz%2FYmlGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bukashk0zzz%2FYmlGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bukashk0zzz%2FYmlGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bukashk0zzz","download_url":"https://codeload.github.com/Bukashk0zzz/YmlGenerator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247685628,"owners_count":20979085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["yandex","yandex-market","yandex-market-language","yml"],"created_at":"2024-09-24T14:11:23.432Z","updated_at":"2025-04-07T16:17:40.779Z","avatar_url":"https://github.com/Bukashk0zzz.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YML (Yandex Market Language) file generator\n\n[![Code Coverage](https://img.shields.io/codecov/c/github/Bukashk0zzz/YmlGenerator.svg?style=flat-square)](https://codecov.io/github/Bukashk0zzz/YmlGenerator)\n[![License](https://img.shields.io/packagist/l/Bukashk0zzz/yml-generator.svg?style=flat-square)](https://packagist.org/packages/Bukashk0zzz/yml-generator)\n[![Latest Stable Version](https://img.shields.io/packagist/v/Bukashk0zzz/yml-generator.svg?style=flat-square)](https://packagist.org/packages/Bukashk0zzz/yml-generator)\n[![Total Downloads](https://img.shields.io/packagist/dt/Bukashk0zzz/yml-generator.svg?style=flat-square)](https://packagist.org/packages/Bukashk0zzz/yml-generator)\n\nAbout\n-----\n[YML (Yandex Market Language)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml) generator.\nUses standard XMLWriter for generating YML file. \nNot required any other library you just need PHP 5.5.0 or \u003e= version.\n\nGenerator supports this offer types:\n- OfferCustom [(vendor.model)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#vendor-model)\n- OfferBook [(book)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#book)\n- OfferAudiobook [(audiobook)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#audiobook)\n- OfferArtistTitle [(artist.title)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#artist-title)\n- OfferTour [(tour)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#tour)\n- OfferEventTicket [(event-ticket)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#event-ticket)\n- OfferSimple [(empty)](https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#base)\n\nInstallation\n------------\nRun composer require\n\n```bash\ncomposer require bukashk0zzz/yml-generator\n```\n\n\nOr add this to your `composer.json` file:\n\n```json\n\"require\": {\n\t\"bukashk0zzz/yml-generator\": \"dev-master\",\n}\n```\n\nUsage examples\n-------------\n\n```php\n\u003c?php\n\nuse Bukashk0zzz\\YmlGenerator\\Model\\Offer\\OfferSimple;\nuse Bukashk0zzz\\YmlGenerator\\Model\\Category;\nuse Bukashk0zzz\\YmlGenerator\\Model\\Currency;\nuse Bukashk0zzz\\YmlGenerator\\Model\\Delivery;\nuse Bukashk0zzz\\YmlGenerator\\Model\\ShopInfo;\nuse Bukashk0zzz\\YmlGenerator\\Settings;\nuse Bukashk0zzz\\YmlGenerator\\Generator;\n\n$file = tempnam(sys_get_temp_dir(), 'YMLGenerator');\n$settings = (new Settings())\n    -\u003esetOutputFile($file)\n    -\u003esetEncoding('UTF-8')\n;\n\n// Creating ShopInfo object (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#shop)\n$shopInfo = (new ShopInfo())\n    -\u003esetName('BestShop')\n    -\u003esetCompany('Best online seller Inc.')\n    -\u003esetUrl('http://www.best.seller.com/')\n;\n\n// Creating currencies array (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#currencies)\n$currencies = [];\n$currencies[] = (new Currency())\n    -\u003esetId('USD')\n    -\u003esetRate(1)\n;\n\n// Creating categories array (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#categories)\n$categories = [];\n$categories[] = (new Category())\n    -\u003esetId(1)\n    -\u003esetName($this-\u003efaker-\u003ename)\n;\n\n// Creating offers array (https://yandex.ru/support/webmaster/goods-prices/technical-requirements.xml#offers)\n$offers = [];\n$offers[] = (new OfferSimple())\n    -\u003esetId(12346)\n    -\u003esetAvailable(true)\n    -\u003esetUrl('http://www.best.seller.com/product_page.php?pid=12348')\n    -\u003esetPrice($this-\u003efaker-\u003enumberBetween(1, 9999))\n    -\u003esetCurrencyId('USD')\n    -\u003esetCategoryId(1)\n    -\u003esetDelivery(false)\n    -\u003esetName('Best product ever')\n;\n\n// Optional creating deliveries array (https://yandex.ru/support/partnermarket/elements/delivery-options.xml)\n$deliveries = [];\n$deliveries[] = (new Delivery())\n    -\u003esetCost(2)\n    -\u003esetDays(1)\n    -\u003esetOrderBefore(14)\n;\n\n(new Generator($settings))-\u003egenerate(\n    $shopInfo,\n    $currencies,\n    $categories,\n    $offers,\n    $deliveries\n);\n```\n### Adding custom elements\nif you need additional offers elements in your yml file using method addCustomElement('type','value'). For example:\n```php\n$offers[] = (new OfferSimple())\n    -\u003esetId(12346)\n    -\u003esetAvailable(true)\n    -\u003esetUrl('http://www.best.seller.com/product_page.php?pid=12348')\n    -\u003esetPrice($this-\u003efaker-\u003enumberBetween(1, 9999))\n    -\u003esetCurrencyId('USD')\n    -\u003esetCategoryId(1)\n    -\u003esetDelivery(false)\n    -\u003esetName('Best product ever')\n    -\u003eaddCustomElement('type', 'value')\n;\n```\n\nCopyright / License\n-------------------\n\nSee [LICENSE](https://github.com/bukashk0zzz/YmlGenerator/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbukashk0zzz%2Fymlgenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbukashk0zzz%2Fymlgenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbukashk0zzz%2Fymlgenerator/lists"}