Desejo recuperar todos os atributos do produto disponíveis e convertê-los em nome e valor para o meu campo de opções selecionadas. No Magento 1, posso consegui-lo assim:
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;
}
Existe uma maneira no magento 2 de fazer a mesma coisa?
magento-2.1
product-attribute
cara simples
fonte
fonte
Respostas:
Aqui você pode ter uma coleção inteira de atributos, filtrá-lo conforme sua necessidade.
fonte
foreach
você pode obtergetAttributeId()
, bem comogetAttributeName()
echo "<pre>"; print_r($attributes);exit;
usar isso em foreach e verificarOutra idéia é que devemos tentar com a camada de contratos de serviço .
Use
Magento\Eav\Api\AttributeRepositoryInterface
para obter o atributo eav.Já tenho uma resposta aqui: /magento//a/161426/33057
Por exemplo:
NOTA: Para o código do tipo de entidade no
getList
método, podemos encontrar naeav_entity_type
tabela.fonte