Я хочу получить все доступные атрибуты продукта , а затем преобразовать его в имя и значение для моего поля выбора параметров. В Magento 1 я могу добиться этого следующим образом:
public function getMagentoAttributes()
{
$values[] = array(
'value' => '',
'label' => 'Pick Product Attribute'
);
$categories = Mage::getResourceModel('catalog/product_attribute_collection')->getItems();
foreach ($categories as $category) {
if ($category->getFrontendLabel() != '') {
$label = $category->getFrontendLabel();
} else {
$label = $category->getAttributecode();
}
$values[] = array(
'value' => $category->getAttributecode(),
'label' => $label
);
}
return $values;
}
Есть ли способ в magento 2 сделать то же самое?
magento-2.1
product-attribute
простой парень
источник
источник
Ответы:
Здесь вы можете иметь целую коллекцию атрибутов, вы можете отфильтровать ее в соответствии с вашими потребностями.
источник
foreach
вы можете получить,getAttributeId()
а такжеgetAttributeName()
echo "<pre>"; print_r($attributes);exit;
используйте это в foreach и проверьтеДругая идея заключается в том, что мы должны попробовать использовать слой контрактов на обслуживание .
Используйте
Magento\Eav\Api\AttributeRepositoryInterface
для получения атрибута eav.У меня есть ответ уже здесь: /magento//a/161426/33057
Например:
ПРИМЕЧАНИЕ. Для кода типа сущности в
getList
методе мы можем найти вeav_entity_type
таблице.источник