Как удалить параметр атрибута цвета с помощью метки в Magento 2?
Можем ли мы удалить параметры атрибутов продукта с помощью метки?
Например, скажите атрибут: цвет имеет такие параметры, как зеленый, красный, желтый как удалить красный из этого? Я использовал приведенный ниже код.
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$eavConfig = $objectManager->get('Magento\Eav\Model\Config');
$attribute = $eavConfig->getAttribute('catalog_product', 'color);
$id = $attribute->getAttributeId();
$options = $attribute->getSource()->getAllOptions();
foreach ($options as $option) {
$options['delete'][$option['value']] = true;
$options['value'][$option['value']] = true;
}
$eavSetup = $this->_objectManager->get('Magento\Eav\Setup\EavSetup');
$eavSetup->addAttributeOption($options);
Он удаляет все параметры. Мне нужно удалить определенную опцию.
1
2 answers
Попробуйте следующий код:
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$eavAttribute = $objectManager->create('Magento\Eav\Model\Config');
$attribute = $eavAttribute->getAttribute('catalog_product', 'color');
$options = $attribute->getSource()->getAllOptions();
foreach ($options as $option) {
if($option['label'] == 'Red'){
$options['delete'][$option['value']] = true;
$options['value'][$option['value']] = true;
}
}
$setupObject = $objectManager->create('Magento\Eav\Setup\EavSetup');
$setupObject->addAttributeOption($options);
?>
5
Author: Sukumar Gorai, 2018-07-09 11:06:13
"OptionValues": [
{
"OptionId": "22",
"OptionName": "Test"
},
{
"OptionId": "21",
"OptionName" : "Test 2"
}
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$eavAttribute = $objectManager->create('Magento\Eav\Model\Config');
$attribute = $eavAttribute->getAttribute('catalog_product', 'color');
$options = $attribute->getSource()->getAllOptions();
foreach($OptionValues as $optValue){
$optionIdVal = $optValue['OptionName'];
foreach ($options as $option) {
if($option['label'] == $optionIdVal){
$options['delete'][$option['value']] = true;
$options['value'][$option['value']] = true;
}
}
}
$setupObject = $objectManager->create('Magento\Eav\Setup\EavSetup');
$setupObject->addAttributeOption($options);
?>
0
Author: jafar pinjar, 2019-01-23 04:44:19