Magento рдПрдХ рдИ-рдХреЙрдорд░реНрд╕ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЕрд░реНрдерд╛рдд рд╡реЗрдпрд░рд╣рд╛рдЙрд╕, рд▓реЙрдЬрд┐рд╕реНрдЯрд┐рдХреНрд╕ рдпрд╛ рдлрд╛рдЗрдиреЗрдВрд╢рд┐рдпрд▓ рдЕрдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рдХреА рдмрд┐рдХреНрд░реА рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдмрд┐рдХреНрд░реА рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЬреИрд╕реЗ рдИрдЖрд░рдкреА рд╕рд┐рд╕реНрдЯрдо) рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдмрд╣реБрдд рдмрд╛рд░ рдореИрдЧреЗрдВрдЯреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ, рдЗрди рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреЛрд░ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 1 рд╕реА рдХреЗ рд╕рд╛рде) рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рджреНрд╡рд╛рд░рд╛ рдФрд░ рдмрдбрд╝реЗ рдПрдХреАрдХрд░рдг рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдХреИрдЯрд▓реЙрдЧ (рдЙрддреНрдкрд╛рдж, рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ);
- рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдбреЗрдЯрд╛ (рдЧреЛрджрд╛рдореЛрдВ рдФрд░ рдХреАрдорддреЛрдВ рдореЗрдВ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╕реНрдЯреЙрдХ);
- рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ;
- рдЖрджреЗрд╢;
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Magento рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА ред рдореИрдЧреЗрдВрдЯреЛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЪрд▓реЛ рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд▓реНрджреА рдирд╣реАрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдореЛ рдХреЗ рдореБрдЦреНрдп рдЪрд░рдгреЛрдВ рдХреЛ "рдХреНрд▓рд╛рд╕рд┐рдХрд▓" рддрд░реАрдХреЗ рд╕реЗ рдореИрдЧреЗрдВрдЯреЛ 2 рдореЗрдВ рдПрдХ рдЙрддреНрдкрд╛рдж рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ - рд░реЗрдкреЛ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред
рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдСрд░реНрдбрд░ рдЖрдорддреМрд░ рдкрд░ рджреВрд╕рд░реА рддрд░рдл - рдореИрдЧреНрдиреЗрдЯреЛ рд╕реЗ рдмрд╛рд╣рд░реА рдИрдЖрд░рдкреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЙрдирдХреЗ рд╕рд╛рде рдпрд╣ рдЖрд╕рд╛рди рд╣реИ, Magento рдХреА рддрд░рдл, рдЖрдкрдХреЛ рдмрд╕ рдЙрдкрдпреБрдХреНрдд рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ " рд╣рдорд╛рд░реА рддрд░рдл рд╕реЗ рдЧреЛрд▓рд┐рдпрд╛рдВ рдЪрд▓рд╛рдИ рдЧрдИрдВ "ред
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд
рдлрд┐рд▓рд╣рд╛рд▓, Magento рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдлреИрдХреНрдЯрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
function __construct (\Magento\Cms\Model\BlockFactory $blockFactory) { $this->blockFactory = $blockFactory; } $block = $this->blockFactory->create();
рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рд┐рдЦрдирд╛:
function __construct (\Magento\Cms\Api\BlockRepositoryInterface $blockRepo) { $this->blockRepo = $blockRepo; } $this->blockRepo->save($block);
Magento 2 рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рднреА рдкреНрд░рдореБрдЦ рдореЙрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдлреИрдХреНрдЯрд░реА рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ Magento 2.3 рдХреЗ рдЕрдиреБрд░реВрдк рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЙрддреНрдкрд╛рдж рдЬрд╛рдирдХрд╛рд░реА catalog_product_entity
рдЯреЗрдмрд▓ (рдЙрддреНрдкрд╛рдж рд░рдЬрд┐рд╕реНрдЯреНрд░реА) рдореЗрдВ рд╣реИ:
entity_id attribute_set_id type_id sku has_options required_options created_at updated_at
рдореИрдВ type_id='simple'
рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрддреНрдкрд╛рдж ( type_id='simple'
), рдбрд┐рдлрд╝реЙрд▓реНрдЯ attribute_set_id=4
рдХрд╛ рдПрдХ рд╕реЗрдЯ ( type_id='simple'
attribute_set_id=4
) рддрдХ has_options
рдФрд░ has_options
рдФрд░ has_options
рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ has_options
ред рдЪреВрдВрдХрд┐ рдПрдЯреНрд░рд┐рдмреНрдпреВрдЯреНрд╕ entity_id
, created_at
рдФрд░ updated_at
рд╕реНрд╡рддрдГ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдореЗрдВ рдмрд╕ рдПрдХ рдирдпрд╛ рдЙрддреНрдкрд╛рдж рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП sku
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рдХрд░рддрд╛ рд╣реВрдВ:
$prod = $factProd->create(); $prod->setAttributeSetId(4); $prod->setTypeId('simple'); $prod->setSku($sku); $repoProd->save($prod);
рдФрд░ рдПрдХ рдЕрдкрд╡рд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
The "Product Name" attribute value is empty. Set the attribute and try again.
рдореИрдВ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЙрддреНрдкрд╛рдж рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдПрдХ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ Price
рд╡рд┐рд╢реЗрд╖рддрд╛ рдЧрд╛рдпрдм рд╣реИред рдореВрд▓реНрдп рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрддреНрдкрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрддрд╛ рд╣реИ:
$prod = $factProd->create(); $prod->setAttributeSetId(4); $prod->setTypeId('simple'); $prod->setSku($sku); $prod->setName($name); $prod->setPrice($price); $repoProd->save($prod);
рдЙрддреНрдкрд╛рдж рдХрд╛ рдирд╛рдо рдЙрддреНрдкрд╛рдж varchar рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ ( catalog_product_entity_varchar
) рдХреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореВрд▓реНрдп catalog_product_entity_decimal
рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрддреНрдкрд╛рдж рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рд╕реНрдЯреЛрд░рдлреНрд░рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
$manStore->setCurrentStore(0);
рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
Magento рдХреЗ рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрддреНрдкрд╛рдж рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдПрдХ рдЦреБрд╢реА рд╣реИред рдХреЛрд░ рдПрдВрдЯрд┐рдЯреАрдЬ рдХреЗ рд▓рд┐рдП eav_entity_type
рдбреЗрдЯрд╛ рдореЙрдбрд▓ (рджреЗрдЦреЗрдВ eav_entity_type
рдЯреЗрдмрд▓) рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдмрд╕ рдЙрддреНрдкрд╛рдж рдореЙрдбрд▓ рдореЗрдВ рдЙрдЪрд┐рдд рдЧреБрдг рдЬреЛрдбрд╝реЗрдВ:
$prodEntity->setData('description', $desc); $prodEntity->setData('short_description', $desc_short);
рдФрд░ рд░реЗрдкреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЙрдбрд▓ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╕рдордп:
$repoProd->save($prod);
рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрдиреНрд╡реЗрдВрдЯрд░реА рдбреЗрдЯрд╛
рдПрдХ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ - рд╕реНрдЯреЙрдХ рдореЗрдВ рдЙрддреНрдкрд╛рдж рдХреА рдорд╛рддреНрд░рд╛ред рдореИрдЧреЗрдВрдЯреЛ 2.3 рдореЗрдВ, рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрддреНрдкрд╛рдж рдореЙрдбрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреЙрдХ рдореЗрдВ рдЙрддреНрдкрд╛рдж рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХрдард┐рди рдирд╣реАрдВ рд╣реИ:
$inventory = [ 'is_in_stock' => true, 'qty' => 1234 ]; $prodEntity->setData('quantity_and_stock_status', $inventory); $repoProd->save($prodEntity);
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реНрдЯреЛрд░ (рдИ-рдХреЙрдорд░реНрд╕) рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдореАрдбрд┐рдпрд╛ рд╕рдорд░реНрдерди рдЖрдВрддрд░рд┐рдХ рд▓реЗрдЦрд╛ рдкреНрд░рдгрд╛рд▓реА (рдИрдЖрд░рдкреА) рдореЗрдВ рдПрдХ рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдореАрдбрд┐рдпрд╛ рд╕рдорд░реНрдерди рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдЙрддреНрдкрд╛рдж рдХрд╛ рдЪреЗрд╣рд░рд╛" рджрд┐рдЦрд╛рдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рджреВрд╕рд░реЗ рдореЗрдВ - рдпрд╣ рдЙрддреНрдкрд╛рдж рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдлрд┐рд░ рднреА, рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдЙрддреНрдкрд╛рдж рдХреА рдХрдо рд╕реЗ рдХрдо рдкреНрд░рд╛рдердорд┐рдХ рдЫрд╡рд┐ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдПрдХ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп case
ред
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЫрд╡рд┐ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░, рдЫрд╡рд┐ рдХреЛ рдкрд╣рд▓реЗ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (( ./pub/media/tmp/catalog/product
) рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЬрдм рдЙрддреНрдкрд╛рдж рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореАрдбрд┐рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ( ./pub/media/catalog/product
)ред рд╕рд╛рде рд╣реА, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ small_image
рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рдЫрд╡рд┐ рдХреЛ image
, small_image
, thumbnail
, swatch_image
рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
$imagePathRelative = $this->imagePlaceToTmpMedia($imagePath); $product = $repoProd->get($sku); $gallery['images'][] = [ 'file' => $imagePathRelative, 'media_type' => 'image' 'label' => '' ]; $product->setData('media_gallery', $gallery); $product->setData('image', $imagePathRelative); $product->setData('small_image', $imagePathRelative); $product->setData('thumbnail', $imagePathRelative); $product->setData('swatch_image', $imagePathRelative); $hndlGalleryCreate->execute($product);
рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЙрддреНрдкрд╛рдж рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рднрдВрдбрд╛рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдореАрдбрд┐рдпрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рдж рдореАрдбрд┐рдпрд╛ рдЧреИрд▓рд░реА рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рддреЗ рд╕рдордп label
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЕрдиреНрдпрдерд╛, рд╣рдореЗрдВ Undefined index: label in .../module-catalog/Model/Product/Gallery/CreateHandler.php on line 516
рдЕрдкрд╡рд╛рдж рдорд┐рд▓рддрд╛ рд╣реИ Undefined index: label in .../module-catalog/Model/Product/Gallery/CreateHandler.php on line 516
)ред
рд╢реНрд░реЗрдгреА
рдЕрдХреНрд╕рд░ рд╕реНрдЯреЛрд░ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рдмреИрдХрдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдпрд╛ рдЙрдирдореЗрдВ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдирд┐рдпреБрдХреНрддрд┐ рдореЗрдВ рдХрд╛рдлреА рднрд┐рдиреНрдирддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд░рдгрдиреАрддрд┐рдпрд╛рдБ рдХрдИ рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗ рдЪрд┐рдкрдХрддрд╛ рд╣реВрдВ:
- рдмреИрдХрдПрдВрдб рдФрд░ рд╕реНрдЯреЛрд░ рдХреА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдирд╛рдо рд╕реЗ рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВ;
- рдпрджрд┐ рдПрдХ рд╢реНрд░реЗрдгреА рдЖрдпрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рд╕реНрдЯреЛрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рд░реВрдЯ рд╢реНрд░реЗрдгреА (
Default Category
) рдХреЗ рддрд╣рдд рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреЛрд░ рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдЗрд╕рдХреА рдЖрдЧреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; - рдПрдХ рдЙрддреНрдкрд╛рдж рдХреЗрд╡рд▓ рдПрдХ рд╡рд░реНрдЧ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡рд╣ рд╕реНрдЯреЛрд░ (рдкрд╣рд▓реЗ рдЖрдпрд╛рдд) рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
рдмреЗрд╕рд┐рдХ рд╢реНрд░реЗрдгреА рдХреА рдЬрд╛рдирдХрд╛рд░реА catalog_category_entity
рдЯреЗрдмрд▓ (рд╢реНрд░реЗрдгреА рд╕реВрдЪреА) рдореЗрдВ рд╣реИред Magento рдореЗрдВ рдПрдХ рд╢реНрд░реЗрдгреА рдмрдирд╛рдирд╛:
$cat = $factCat->create(); $cat->setName($name); $cat->setIsActive(true); $repoCat->save($cat);
рдЙрддреНрдкрд╛рдж рд╢реНрд░реЗрдгреА ID рдФрд░ рдЙрддреНрдкрд╛рдж SKU рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╢реНрд░реЗрдгреА рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ:
$link = $factCatProdLink->create(); $link->setCategoryId($catMageId); $link->setSku($prodSku); $repoCatLink->save($link);
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░
рдореИрдЧреЗрдВрдЯреЛ 2 рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдкрд╛рдж рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА, рдореИрдВрдиреЗ рдбреЗрдореЛ рдореЙрдбреНрдпреВрд▓ " flancer32 / mage2_ext_demo_import " рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ fl32:import:prod
рдореЗрдВ fl32:import:prod
рдХрдВрд╕реЛрд▓ рдХрдорд╛рдВрдб, рдЬреЛ "/ .cc/data/products.json " JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ:
[ { "sku": "...", "name": "...", "desc": "...", "desc_short": "...", "price": ..., "qty": ..., "categories": ["..."], "image_path": "..." } ]
рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ ./etc/data/img
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред
рдЗрд╕ рддрд░рд╣ рд╕реЗ 10 рдЙрддреНрдкрд╛рджреЛрдВ рдХрд╛ рдЖрдпрд╛рдд рд╕рдордп рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рд▓рдЧрднрдЧ 10 рд╕реЗрдХрдВрдб рд╣реИред рдпрджрд┐ рд╣рдо рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ 3,600 рдЙрддреНрдкрд╛рдж рдкреНрд░рддрд┐ рдШрдВрдЯреЗ рдЖрдпрд╛рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ 100K рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 30 рдШрдВрдЯреЗ рдХрд╛ рд╕рдордп рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд▓реИрдкрдЯреЙрдк рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдЖрдк рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реБрдЪрд╛рд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдХрдИ рдмрд╛рд░ред рд▓реЗрдХрд┐рди рдкрд░рд┐рдорд╛рдг рдХреЗ рдЖрджреЗрд╢реЛрдВ рд╕реЗ рдирд╣реАрдВред рд╢рд╛рдпрдж рдпрд╣ рдЧрддрд┐ рдореИрдЬреЗрдВрдЯреЛ / async- рдЖрдпрд╛рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЙрджреНрднрд╡ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рд╕реБрд╕реНрддреА рд╣реИред
рдЖрдпрд╛рдд рдХреА рдЧрддрд┐ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдбрд┐рдирд▓ рдирд┐рд░реНрдгрдп рд╕реАрдзреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдЧреЗрдВрдЯреЛ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА "рдмрдиреНрд╕" рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВ - рдЖрдкрдХреЛ рдЦреБрдж рдХреЛ "рдЙрдиреНрдирдд" рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред