Wallogit.com
2017 © Pedro PelΓ‘ez
Yandex market create yml
Yandex Market Yml, (*1)
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ YML ΡΠ°ΠΉΠ»Π°, (*2)
https://yandex.ru/support/partnermarket/yml/about-yml.html, (*3)
ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π΅ Π³ΠΎΡΠΎΠ²Π° Π½Π° 100%, Π΅Π΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ! ΠΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π΅Π½Π½ΠΎ UNIT ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅! ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ ΠΌΠ½Π΅ ΠΎΠ± ΡΡΠΎΠΌ klevunin@gmail.com, (*4)
ΠΠΈΡΠ΅Π½Π·ΠΈΡ MIT, (*5)
Use, (*6)
ΠΡΡ Π±ΠΈΠ±Π»Π΅ΠΎΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Composer https://getcomposer.org/, (*7)
"repositories": [
{
"type": "git",
"url": "git@github.com:klevunin/YandexMarketYml.git"
}
],
"require-dev": {
"klev/yandex-market-yml": "*"
},
Π£ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Π²Π°ΡΠΈΠΌ ΡΠΎΠ²Π°ΡΠ°ΠΌ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠΎΡΠΌΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ $shop=[]; ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠΈΡΡΡΡ
<shop></shop>ΠΡ ΡΠΊΠΎΡΠ΅ΠΉ Π²ΡΠ΅Π³ΠΎ Π±ΡΠ΄ΠΈΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ Π²Π°ΡΠΈ ΡΠΎΠ²Π°ΡΡ ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ-ΡΠΎ Π²Π°ΡΠΈΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡ Π² YML. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ ΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ<offer/>ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ $offer=[];, (*8)ΠΠ°ΡΡΠΈΠ² $shop Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°
MarketYandexShop, (*9)ΠΠ°ΡΡΠΈΠ² $offer Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°
MarketYandexOffer, (*10)ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ
getterΠΈsetter., (*11)ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ²ΠΎΠΉΡΡΠ²., (*12)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ
protectedΠ² Π²Π°ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡgetBuilderGet{NameProperty}. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²trait MarketYandexBuilder., (*13)
use Klev\Yandex\YmlCreate\Yml\YandexYml;
require_once __DIR__ . '/../vendor/autoload.php';
$Yml = new YandexYml();
$Yml->setShop(new MarketYandexShopValidation($shop));
foreach ($offers as $offer) {
$Yml->setOffers(new MarketYandexOfferValidation($offer));
}
ΠΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π½ΠΎ Π±Π΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ , (*14)
$Yml = new YandexYml();
$Yml->setShop(new MarketYandexShop($shop));
foreach ($offers as $offer) {
$Yml->setOffers(new MarketYandexOffer($offer));
}
ΠΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Ρ Π±ΡΠ΄Ρ ΠΊΠΈΠ΄Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°
KlevYandexYmlCreateException. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ., (*15)ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΡΡΠΎ Π±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:, (*16)
$Yml->getEchoXML();
Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ», Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°:, (*17)
$Yml->saveToFile($file);