मुझे फ्रंट-एंड पर समान विशेषता विकल्पों की समस्या का सामना करना पड़ा, जैसा कि मैंने इस मुद्दे की जाँच की और पाया कि विशेषता विकल्पों को लाने के दौरान, Magento 2.1.2 में डिफ़ॉल्ट रूप से क्वेरी में कोई छँटाई फ़िल्टर नहीं जोड़ा गया है, इसलिए इस समस्या को ठीक करने की आवश्यकता है नीचे दिए गए कोड को जोड़ने के लिए ORDER को फ़ंक्शन में शामिल करें getAttributeOptions पर लाइन नंबर 282 में फ़ाइल: विक्रेता / magento / मॉड्यूल-कॉन्फ़िगर करने योग्य-उत्पाद / मॉडल / ResourceModel / उत्पाद / प्रकार / configurable.php अब, यह मेरे लिए ठीक काम कर रहा है।
->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);
}