Tôi cố gắng thêm tùy chọn cho các thuộc tính kích thước và màu sắc trong chế độ nhà nhập khẩu của mình nhưng tôi không làm thế nào ...:
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);
Báo cáo này một lỗi (tôi sửa đổi báo cáo về ngoại lệ OptionMaganger.php
để Exception-> nhắn )
Không thể lưu kích thước thuộc tính Lưu ý: Chỉ mục không xác định: xóa trong /var/www/html/magento2/vendor/magento/module-swatches/Model/Plugin/EavAttribution.php trên dòng 177
- Tùy chọn Quản lý và Tùy chọn đến từ
_contstructor
- Với Quản lý tùy chọn, tôi có thể truy xuất các mục hiện có, vì vậy sẽ ổn thôi ..
setLabel()
và setValue()
được mặc định, nhưng tôi đã thử setData , tải phiên bản tùy chọn và chuyển qua OptionManagement->getItems
để thêm (...) "lần nữa", nhưng lỗi vẫn tồn tại ...
Bất kỳ ý tưởng, làm thế nào tôi có thể nối thêm Tùy chọn EAV (swatches?) Trong quá trình nhập? (không phải trong thiết lập modul)
Cập nhật:
Cách khác tôi có thể thêm tùy chọn:
$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();
}
Bằng cách này, Magento2 có thể lưu một tùy chọn cho thuộc tính, nhưng tôi không biết cách "chính thức" là gì :)