ich will alle verfügbaren Produktattribute abrufen und sie dann in Name und Wert für mein Auswahlfeld "Optionen" konvertieren. In Magento 1 kann ich das so erreichen:
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;
}
Gibt es in magento 2 eine Möglichkeit, dasselbe zu tun?
magento-2.1
product-attribute
einfacher Kerl
quelle
quelle
Antworten:
Hier können Sie eine ganze Sammlung von Attributen haben und diese nach Ihren Wünschen filtern.
quelle
foreach
Sie bekommen könnengetAttributeId()
sowiegetAttributeName()
echo "<pre>"; print_r($attributes);exit;
Verwenden Sie dies in foreach und überprüfen SieEine andere Idee ist, dass wir es mit Service Contracts Layer versuchen sollten .
Verwenden Sie
Magento\Eav\Api\AttributeRepositoryInterface
diese Option, um das eav-Attribut abzurufen.Ich habe bereits hier eine Antwort: /magento//a/161426/33057
Beispielsweise:
HINWEIS: Den Entitätstypcode in
getList
method finden Sie in dereav_entity_type
Tabelle.quelle