Je souhaite récupérer tous les attributs de produit disponibles, puis les convertir en nom et valeur pour mon champ d'options de sélection. Dans Magento 1, je peux y arriver comme ceci:
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-t-il un moyen dans magento 2 de faire la même chose?
magento-2.1
product-attribute
gars simple
la source
la source
Réponses:
Ici, vous pouvez avoir toute une collection d'attributs, vous pouvez le filtrer selon vos besoins.
la source
foreach
vous pouvez obtenirgetAttributeId()
ainsigetAttributeName()
echo "<pre>"; print_r($attributes);exit;
utiliser ceci dans foreach et vérifierUne autre idée est que nous devrions essayer avec la couche de contrats de service .
Utilisez
Magento\Eav\Api\AttributeRepositoryInterface
pour obtenir l'attribut eav.J'ai déjà une réponse ici: /magento//a/161426/33057
Par exemple:
REMARQUE: Pour le code de type d'entité dans la
getList
méthode, nous pouvons trouver dans leeav_entity_type
tableau.la source