আমি একই বৈশিষ্ট্যগুলির বিকল্পগুলি সামনের প্রান্তে বাছাইয়ের সমস্যার মুখোমুখি হয়েছি, কারণ আমি এই সমস্যাটি পরীক্ষা করে দেখেছি যে অ্যাট্রিবিউট অপশনগুলি আনার সময়, Magento 2.1.2 এ ডিফল্টরূপে ক্যোয়ারীতে কোনও বাছাই করা ফিল্টার নেই, সুতরাং এই সমস্যাটি ঠিক করার জন্য প্রয়োজনীয় অর্ডার যুক্ত করতে নীচের কোডটি যুক্ত করতে ফাংশনে ফাইলে getAttributeOptions ফাইলের 282 নং লাইনে: ভেন্ডর / ম্যাজেন্টো / মডিউল-কনফিগারযোগ্য-পণ্য / মডেল / রিসোর্সমোডেল / পণ্য / প্রকার / কনফিগারযোগ্য.এফপি এখন, এটি আমার জন্য ভাল কাজ করছে।
->joinInner(
['attribute_opt' => $this->getTable('eav_attribute_option')],
'attribute_opt.option_id = entity_value.value',
[]
)->order(
'attribute_opt.sort_order ASC'
);
কোড সম্পাদনা করতে অক্ষম হলে দয়া করে নীচের মত কোডের সাথে এই getAttributeOptions ফাংশনটি প্রতিস্থাপন করুন:
public function getAttributeOptions($superAttribute, $productId)
{
$scope = $this->getScopeResolver()->getScope();
$select = $this->getConnection()->select()->from(
['super_attribute' => $this->getTable('catalog_product_super_attribute')],
[
'sku' => 'entity.sku',
'product_id' => 'product_entity.entity_id',
'attribute_code' => 'attribute.attribute_code',
'value_index' => 'entity_value.value',
'option_title' => $this->getConnection()->getIfNullSql(
'option_value.value',
'default_option_value.value'
),
'default_title' => 'default_option_value.value',
]
)->joinInner(
['product_entity' => $this->getTable('catalog_product_entity')],
"product_entity.{$this->getProductEntityLinkField()} = super_attribute.product_id",
[]
)->joinInner(
['product_link' => $this->getTable('catalog_product_super_link')],
'product_link.parent_id = super_attribute.product_id',
[]
)->joinInner(
['attribute' => $this->getTable('eav_attribute')],
'attribute.attribute_id = super_attribute.attribute_id',
[]
)->joinInner(
['entity' => $this->getTable('catalog_product_entity')],
'entity.entity_id = product_link.product_id',
[]
)->joinInner(
['entity_value' => $superAttribute->getBackendTable()],
implode(
' AND ',
[
'entity_value.attribute_id = super_attribute.attribute_id',
'entity_value.store_id = 0',
"entity_value.{$this->getProductEntityLinkField()} = "
. "entity.{$this->getProductEntityLinkField()}",
]
),
[]
)->joinLeft(
['option_value' => $this->getTable('eav_attribute_option_value')],
implode(
' AND ',
[
'option_value.option_id = entity_value.value',
'option_value.store_id = ' . $scope->getId(),
]
),
[]
)->joinLeft(
['default_option_value' => $this->getTable('eav_attribute_option_value')],
implode(
' AND ',
[
'default_option_value.option_id = entity_value.value',
'default_option_value.store_id = ' . \Magento\Store\Model\Store::DEFAULT_STORE_ID,
]
),
[]
)->where(
'super_attribute.product_id = ?',
$productId
)->where(
'attribute.attribute_id = ?',
$superAttribute->getAttributeId()
)->joinInner(
['attribute_opt' => $this->getTable('eav_attribute_option')],
'attribute_opt.option_id = entity_value.value',
[]
)->order(
'attribute_opt.sort_order ASC'
);
return $this->getConnection()->fetchAll($select);
}