Magento 2: āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ‰āĻ¤ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒāĻŖā§āĻ¯ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻž

Magento āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ‡-āĻ•āĻŽāĻžāĻ°ā§āĻ¸ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻ¯ā§‡āĻŽāĻ¨ āĻ—ā§āĻĻāĻžāĻŽāĻœāĻžāĻ¤āĻ•āĻ°āĻŖ, āĻ˛āĻœāĻŋāĻ¸ā§āĻŸāĻŋāĻ•āĻ¸ āĻŦāĻž āĻ†āĻ°ā§āĻĨāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻŋāĻ‚ āĻŦāĻŋāĻ•ā§āĻ°āĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻ•ā§āĻ°āĻŋāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻĒāĻŖā§āĻ¯ āĻŦāĻŋāĻ•ā§āĻ°āĻŋāĻ° āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻŦā§‡āĻļāĻŋāĨ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ‡āĻ†āĻ°āĻĒāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋ) āĻ¸āĻšāĻ—āĻžāĻŽā§€ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻŽā§āĻ¯āĻžāĻœā§‡āĻ¨ā§āĻŸā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻāĻ‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§‹āĻ°āĻ•ā§‡ āĻāĻ•ā§€āĻ­ā§‚āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻ¯āĻŧ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, 1C)āĨ¤

āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡, āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ˛āĻ— (āĻĒāĻŖā§āĻ¯, āĻŦāĻŋāĻ­āĻžāĻ—);
  • āĻ‡āĻ¨āĻ­ā§‡āĻ¨ā§āĻŸāĻ°āĻŋ āĻĄā§‡āĻŸāĻž (āĻ—ā§āĻĻāĻžāĻŽ āĻāĻŦāĻ‚ āĻĻāĻžāĻŽā§‡ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻ­āĻžāĻ°āĻ¸āĻžāĻŽā§āĻ¯);
  • āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ;
  • āĻ†āĻĻā§‡āĻļ;

Magento āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĄā§‡āĻŸāĻž āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻļā§āĻ°ā§‡āĻŖā§€ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡ - āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛. Magento āĻāĻ° āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸāĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡, āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĄā§‡āĻŸāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ•ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ§ā§€āĻ° āĻ—āĻ¤āĻŋāĻ°āĨ¤ āĻāĻ‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻ¨āĻžāĻ¯āĻŧ, āĻ†āĻŽāĻŋ āĻ°ā§‡āĻĒā§‹ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ - "āĻ•ā§āĻ˛āĻžāĻ¸āĻŋāĻ•" āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻŽā§āĻ¯āĻžāĻœā§‡āĻ¨ā§āĻŸā§‹ 2-āĻ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•ā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŋāĨ¤

āĻ—ā§āĻ°āĻžāĻšāĻ• āĻāĻŦāĻ‚ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ…āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ - Magento āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• ERP āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻāĻŸāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻšāĻœ, āĻŽā§āĻ¯āĻžāĻœā§‡āĻ¨ā§āĻŸā§‹ āĻĻāĻŋāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ "āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻžāĻļ āĻĨā§‡āĻ•ā§‡ āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĄāĻŧā§‡ āĻ—ā§‡āĻ˛"āĨ¤

āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻĄā§‡āĻŸāĻž āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻžāĻ° āĻ¨ā§€āĻ¤āĻŋ

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻŽā§āĻ¯āĻžāĻœā§‡āĻ¨ā§āĻŸā§‹āĻ¤ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§āĻ¯āĻžāĻŸāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ•āĻžāĻ°āĻ–āĻžāĻ¨āĻž:

function __construct (MagentoCmsModelBlockFactory $blockFactory) {
    $this->blockFactory = $blockFactory;
}

/** @var MagentoCmsModelBlock $block */
$block = $this->blockFactory->create();

āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ˛ā§‡āĻ–āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—:

function __construct (MagentoCmsApiBlockRepositoryInterface $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'), āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ (attribute_set_id=4) āĻāĻŦāĻ‚ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ has_options и required_options. āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ entity_id, created_at и updated_at āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ°, āĻ†āĻ¸āĻ˛ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻŖā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ sku. āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ•āĻžāĻœ:

/** @var MagentoCatalogApiDataProductInterfaceFactory $factProd */
/** @var MagentoCatalogApiProductRepositoryInterface $repoProd */
/** @var MagentoCatalogApiDataProductInterface $prod */
$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. āĻāĻ•āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡, āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻŸāĻž āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ¨āĻŋāĻ• āĻ¸ā§āĻŸā§‹āĻ°āĻĢā§āĻ°āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›āĻŋ:

/** @var MagentoStoreModelStoreManagerInterface $manStore */
$manStore->setCurrentStore(0);

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€

Magento āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻŖā§āĻ¯ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻ†āĻ¨āĻ¨ā§āĻĻā§‡āĻ°. āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ EAV āĻĄā§‡āĻŸāĻž āĻŽāĻĄā§‡āĻ˛ (āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĻā§‡āĻ–ā§āĻ¨ eav_entity_type) āĻāĻ‡ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻĒāĻŖā§āĻ¯ āĻŽāĻĄā§‡āĻ˛ā§‡ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ:

$prodEntity->setData('description', $desc);
$prodEntity->setData('short_description', $desc_short);
// иĐģи
$prodEntity->setDescription($desc);
$prodEntity->setShortDescription($desc_short);

āĻāĻŦāĻ‚ āĻ°ā§‡āĻĒā§‹ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ:

$repoProd->save($prod);

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ‡āĻ¨āĻ­ā§‡āĻ¨ā§āĻŸāĻ°āĻŋ āĻĄā§‡āĻŸāĻž

āĻ¸āĻšāĻœ āĻļāĻ°ā§āĻ¤ā§‡ - āĻ¸ā§āĻŸāĻ•ā§‡ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĨ¤ Magento 2.3-āĻ, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ¯āĻž āĻ‡āĻ¨āĻ­ā§‡āĻ¨ā§āĻŸāĻ°āĻŋ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ—ā§‡ āĻ¯āĻž āĻ˜āĻŸā§‡āĻ›ā§‡ āĻ¤āĻž āĻĨā§‡āĻ•ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĒāĻŖā§āĻ¯ āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻŸāĻ•ā§‡ āĻĨāĻžāĻ•āĻž āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ•āĻ āĻŋāĻ¨ āĻ¨āĻ¯āĻŧ:

/** @var MagentoCatalogModelProduct $prodEntity */
/** @var MagentoCatalogApiProductRepositoryInterface $repoProd */
$inventory = [
    'is_in_stock' => true,
    'qty' => 1234
];
$prodEntity->setData('quantity_and_stock_status', $inventory);
$repoProd->save($prodEntity);

āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻĻā§‹āĻ•āĻžāĻ¨ā§‡ (āĻ‡-āĻ•āĻŽāĻžāĻ°ā§āĻ¸) āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ (ERP) āĻāĻ•āĻœāĻ¨ āĻ•āĻ°ā§āĻŽāĻšāĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻžāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒāĻŖā§āĻ¯āĻŸāĻŋāĻ•ā§‡ āĻ¸āĻžāĻŽāĻ¨āĻžāĻ¸āĻžāĻŽāĻ¨āĻŋ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ; āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒāĻŖā§āĻ¯āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖāĻž āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ•āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ā§‡āĻ° āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻšāĻŋāĻ¤ā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĨ¤ case āĻĄā§‡āĻŸāĻž āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤

āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ›āĻŦāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧ (./pub/media/tmp/catalog/product) āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻ–āĻ¨ āĻĒāĻŖā§āĻ¯ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ (./pub/media/catalog/product) āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻ›āĻŦāĻŋāĻŸāĻŋ āĻŸā§āĻ¯āĻžāĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ image, small_image, thumbnail, swatch_image.

/** @var MagentoCatalogApiProductRepositoryInterface $repoProd */
/** @var MagentoCatalogModelProductGalleryCreateHandler $hndlGalleryCreate */
/* $imagePath = '/path/to/file.png';  $imagePathRelative = '/f/i/file.png' */
$imagePathRelative = $this->imagePlaceToTmpMedia($imagePath);
/* reload product with gallery data */
$product = $repoProd->get($sku);
/* add image to product's gallery */
$gallery['images'][] = [
    'file' => $imagePathRelative,
    'media_type' => 'image'
    'label' => ''
];
$product->setData('media_gallery', $gallery);
/* set usage areas */
$product->setData('image', $imagePathRelative);
$product->setData('small_image', $imagePathRelative);
$product->setData('thumbnail', $imagePathRelative);
$product->setData('swatch_image', $imagePathRelative);
/* create product's gallery */
$hndlGalleryCreate->execute($product);

āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻ°āĻŖā§‡, āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻŖā§āĻ¯ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻĒāĻ°ā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ label āĻĒāĻŖā§āĻ¯ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻ—ā§āĻ¯āĻžāĻ˛āĻžāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ (āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ Undefined index: label in .../module-catalog/Model/Product/Gallery/CreateHandler.php on line 516).

āĻŦāĻŋāĻ­āĻžāĻ—

āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡, āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻ° āĻŦāĻŋāĻ­āĻžāĻ— āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦāĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻŖā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻĒā§ƒāĻĨāĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ­āĻžāĻ— āĻāĻŦāĻ‚ āĻĒāĻŖā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻžāĻ° āĻ•ā§ŒāĻļāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻžāĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻŸāĻ•ā§‡ āĻĨāĻžāĻ•āĻŋ:

  • āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‹āĻ° āĻŦāĻŋāĻ­āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ;
  • āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡ āĻ¨ā§‡āĻ‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻŽā§‚āĻ˛ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (Default Category) āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‹āĻ° āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ˛āĻ—ā§‡ āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ;
  • āĻāĻ•āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻĻā§‹āĻ•āĻžāĻ¨ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻĒā§āĻ°āĻĨāĻŽ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ);

āĻŦāĻŋāĻ­āĻžāĻ— āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ¤āĻĨā§āĻ¯ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ catalog_category_entity (āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ˛āĻ—)āĨ¤ Magento āĻ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡:

/** @var MagentoCatalogApiDataCategoryInterfaceFactory $factCat */
/** @var MagentoCatalogApiCategoryRepositoryInterface $repoCat */
$cat = $factCat->create();
$cat->setName($name);
$cat->setIsActive(true);
$repoCat->save($cat);

āĻŦāĻŋāĻ­āĻžāĻ— āĻ†āĻ‡āĻĄāĻŋ āĻāĻŦāĻ‚ āĻĒāĻŖā§āĻ¯ SKU āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

/** @var MagentoCatalogModelCategoryProductLinkFactory $factCatProdLink */
/** @var MagentoCatalogApiCategoryLinkRepositoryInterface $repoCatLink */
$link = $factCatProdLink->create();
$link->setCategoryId($catMageId);
$link->setSku($prodSku);
$repoCatLink->save($link);

āĻŽā§‹āĻŸā§‡

Magento 2 āĻ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻŸāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄ āĻ˛ā§‡āĻ–āĻž āĻŦā§‡āĻļ āĻ¸āĻšāĻœāĨ¤ āĻ†āĻŽāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŽā§‹ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ "flancer32/mage2_ext_demo_import" āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ†āĻ›ā§‡ fl32:import:prod, āĻ¯āĻž JSON āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĒāĻŖā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡ "./etc/data/products.json':

[
  {
    "sku": "...",
    "name": "...",
    "desc": "...",
    "desc_short": "...",
    "price": ...,
    "qty": ...,
    "categories": ["..."],
    "image_path": "..."
  }
]

āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ›āĻŦāĻŋāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ˛āĻ—ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ ./etc/data/img.

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ 10āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻžāĻ° āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 10 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ‡ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§‡ āĻ†āĻ¸āĻž āĻ¸āĻšāĻœ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻ˜āĻ¨ā§āĻŸāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 3600āĻŸāĻŋ āĻĒāĻŖā§āĻ¯ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ 100K āĻĒāĻŖā§āĻ¯ āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 30 āĻ˜āĻ¨ā§āĻŸāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻ—āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻŽāĻ¸ā§ƒāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŦāĻžāĻ°āĻ“ āĻšāĻ¯āĻŧāĻ¤ā§‹āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ†āĻĻā§‡āĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻž. āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ‡ āĻ—āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻšāĻ˛ā§‡āĻ“ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ‰āĻ¤ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻ•āĻžāĻ°āĻŖāĨ¤ magento/async-import.

āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋāĻ° āĻ—āĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻāĻ•āĻŸāĻŋ āĻ†āĻŽā§‚āĻ˛ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŽā§āĻ¯āĻžāĻœā§‡āĻ¨ā§āĻŸā§‹āĻ° āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖāĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ "āĻ—ā§āĻĄāĻŋ" āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ - āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ "āĻ‰āĻ¨ā§āĻ¨āĻ¤" āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻŸāĻž āĻŽā§‚āĻ˛ā§āĻ¯. āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨