मैं अपने आयातक मोडुल में आकार और रंग विशेषताओं के विकल्प जोड़ने का प्रयास करता हूं लेकिन मैं ऐसा नहीं करता ...:
private function addOption($attributeCode, $value)
{
$ob = $this->_objectManager;
/* @var $m \Magento\Eav\Model\Entity\Attribute\OptionManagement */
$m = $this->optionManagement;
/* @var $option \Magento\Eav\Model\Entity\Attribute\Option */
$option = $this->attributeOption;
$option->setLabel($value);
$option->setValue($value);
$m->add(\Magento\Catalog\Api\Data\ProductAttributeInterface::ENTITY_TYPE_CODE,
$attributeCode,
$option);
यह एक त्रुटि की रिपोर्ट करता है (मैंने अपवाद अपवादOptionMaganger.php
को अपवाद पर भेज दिया-> संदेश )
विशेषता का आकार नहीं बचा सकता नोटिस: अपरिभाषित सूचकांक: लाइन में 177 पर /var/www/html/magento2/vendor/magento/module-swatches/Model/Plugin/EavAttribute/php पर हटाएं
- विकल्प प्रबंधन और विकल्प से आते हैं
_contstructor
- OptionManagement के साथ मैं मौजूदा आइटम पुनः प्राप्त कर सकता हूं, इसलिए ठीक होना चाहिए।
setLabel()
और setValue()
डिफ़ॉल्ट हैं, लेकिन मैंने setData , लोड विकल्प उदाहरण और OptionManagement->getItems
"फिर से" जोड़ने के लिए पास करने की कोशिश की , लेकिन त्रुटि अभी भी मौजूद है ...
कोई भी विचार, मैं आयात प्रक्रिया के दौरान ईएवी विकल्प (स्वैच?) को कैसे जोड़ सकता हूं? (मोडुल सेटअप में नहीं)
अपडेट करें :
अन्य तरीके से मैं विकल्प जोड़ सकता हूं:
$attributeCode = 137; /* on size, 90 on color ... */
$languageValues[0]='Admin Label';
$languageValues[1]='Default Store Label - XXXXL';
$ob = $this->_objectManager;
private function addOption($attributeCode,$languageValues){
$ob = $this->_objectManager;
/* @var $attr \Magento\Eav\Model\Entity\Attribute */
$attr = $ob->create('\Magento\Eav\Model\Entity\Attribute');
$attr->load($attributeCode);
$option = [];
$option['value'][$languageValues[0]] = $languageValues;
$attr->addData(array('option' => $option));
$attr->save();
}
इस तरह से Magento2 विशेषता के लिए एक विकल्प बचा सकता है, लेकिन मुझे नहीं पता कि "आधिकारिक" तरीका क्या है :)