Saya ingin mengambil semua atribut produk yang tersedia, lalu mengonversinya menjadi nama & nilai untuk bidang opsi pilihan saya. Di Magento 1 saya bisa mencapainya seperti ini:
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;
}
Apakah ada cara di Magento 2 untuk melakukan hal yang sama?
magento-2.1
product-attribute
pria sederhana
sumber
sumber
Jawaban:
Di sini Anda dapat memiliki seluruh koleksi atribut, Anda dapat memfilternya sesuai kebutuhan Anda.
sumber
foreach
Anda bisagetAttributeId()
jugagetAttributeName()
echo "<pre>"; print_r($attributes);exit;
gunakan ini di foreach dan periksaGagasan lain adalah bahwa kita harus mencoba dengan Layer Kontrak Layanan .
Gunakan
Magento\Eav\Api\AttributeRepositoryInterface
untuk mendapatkan atribut eav.Saya sudah punya jawaban di sini: /magento//a/161426/33057
Sebagai contoh:
CATATAN: Untuk kode jenis entitas dalam
getList
metode, kita dapat menemukan dalameav_entity_type
tabel.sumber