Как получить выбранный вариант атрибута для продукта?
Изо всех сил пытаюсь получить значение выбранного параметра для продукта.
Пример: Продукт требует сборки, поэтому созданный атрибут dropdown
Ниже приведены несколько методов, которые я пробовал
echo $data = $_product->getAssembly();
echo $label = $_product->getAttributeText('Assembly');
$_attribute = $_product->getResource()->getAttribute('assembly');
$attribute_label = $_attribute->getStoreLabel(Mage::app()->getStore()->getName());
echo 'Label: '.$attribute_label;//empty
$attributeModel = Mage::getModel('eav/entity_attribute')->loadByCode('catalog_product','assembly');
$attributeModel->getData('label');
echo 'Model: '.$attributeModel;// empty
$atributeCode = 'assembly';
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product',$atributeCode);
$options = $attribute->getSource()->getAllOptions();
var_dump
отображает только массив всех параметров.
Как я могу его получить?
1 answers
$_product->getAssembly()
должен вернуть вам идентификатор опции, выбранной для текущего продукта.
$_product->getAttributeText('assembly')
( обратите внимание на имя атрибута в нижнем регистре) должно вернуть вам метку выбранного варианта сборки для текущего продукта.
Но есть одна загвоздка.
Если вы пробуете их на странице списка продуктов или где-то, где $_product
является одной итерацией из коллекции продуктов, вам необходимо пометить атрибут assembly
как "Используемый в списке продуктов" и перестроить плоские индексы продукта для того, чтобы работать.