Якщо у вас є атрибут продукту, і ви хочете призначити його одному набору атрибутів, це легко зробити через Панель адміністратора Magento 2 > Сховища > Атрибути > Набір атрибутів .
Але що робити, якщо вам потрібно призначити його всім вашим наборам атрибутів? Що робити, якщо у вас є 50+ або навіть 100+ наборів атрибутів? Це може зайняти багато часу.

Отже, ви можете створити простий скрипт, який виконає всю роботу за вас.

1. Створіть PHP-файл " myscript.php " у кореневому каталозі Magento 2.

2. Вставте код:

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);
$ATTRIBUTE_CODE = 'my_attribute';
$ATTRIBUTE_GROUP = 'General';
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get(Magento\Framework\App\State::class);
$state->setAreaCode('adminhtml');

/* Attribute assign logic */ $eavSetup = $objectManager->create(\Magento\Eav\Setup\EavSetup::class);
$config = $objectManager->get(\Magento\Catalog\Model\Config::class);
$attributeManagement = $objectManager->get(\Magento\Eav\Api\AttributeManagementInterface::class);
$entityTypeId = $eavSetup->getEntityTypeId(\Magento\Catalog\Model\Product::ENTITY);
$attributeSetIds = $eavSetup->getAllAttributeSetIds($entityTypeId);
foreach ($attributeSetIds as $attributeSetId) {
    if ($attributeSetId) {
        $group_id = $config->getAttributeGroupId($attributeSetId, $ATTRIBUTE_GROUP);
        $attributeManagement->assign(
            'catalog_product',
            $attributeSetId,
            $group_id,
            $ATTRIBUTE_CODE,
            999
       );
    }
}

3. Змініть значення для $ATTRIBUTE_CODE та $ATTRIBUTE_GROUP .

4. Збережіть файл.

5. Виконайте команду CLI:

php myscript.php

6. Після цього, будь ласка, видаліть файл myscript.php або зробіть його недоступним в Інтернеті.