magento 2 - Cara mendapatkan atribut set nama di cantuman produk dan halaman detail produk

10

Bagaimana kita dapat mengambil set nama atribut untuk suatu produk. Saya ingin menggunakannya pada detail produk dan halaman daftar .

Abhishek Dhanraj Shahdeo
sumber

Jawaban:

15

Kita bisa menggunakan \Magento\Eav\Api\AttributeSetRepositoryInterfaceuntuk mendapatkan nama atribut.

Halaman Detail

Kita perlu mengganti \Magento\Catalog\Block\Product\Viewblok. Suntikkan kelas ini pada konstruktor

/** @var \Magento\Eav\Api\AttributeSetRepositoryInterface $attributeSet **/
protected $attributeSet;

public function __construct(
    ......
    \Magento\Eav\Api\AttributeSetRepositoryInterface $attributeSet
    ......
) {
   ......
   $this->attributeSet = $attributeSet;
}


//Build method to get attribute set
public function getAttributeSetName() {

    $product = $this->getProduct();
    $attributeSetRepository = $this->attributeSet->get($product->getAttributeSetId());
    return $attributeSetRepository->getAttributeSetName();
}

Sekarang, kita dapat menghubungi halaman detail produk: $block->getAttributeSetName();

Halaman daftar

Kita perlu mengganti \Magento\Catalog\Block\Product\ListProductblok

/** @var \Magento\Eav\Api\AttributeSetRepositoryInterface $attributeSet **/
protected $attributeSet;

public function __construct(
    ......
    \Magento\Eav\Api\AttributeSetRepositoryInterface $attributeSet
    ......
) {
   ......
   $this->attributeSet = $attributeSet;
}

public function getAttributeSetName($product) {

    $attributeSetRepository = $this->attributeSet->get($product->getAttributeSetId());
    return $attributeSetRepository->getAttributeSetName();
}

Kita bisa menelepon $block->getAttributeSetName($_product).

Khoa TruongDinh
sumber
$ attributeSet dan $ product adalah variabel yang tidak terdefinisi, saya sangat baru di Magento2 dan saya tidak dapat mengerti apa yang sebenarnya saya perlu tulis
Abhishek Dhanraj Shahdeo
Anda dapat melihat jawaban saya yang diperbarui. Cukup untukmu?
Khoa TruongDinh
Saya mencoba menerapkannya di blok daftar produk, tetapi tidak berfungsi dengan tepat, membuat beberapa modifikasi
Abhishek Dhanraj Shahdeo
Saya mendapatkan kesalahan objek, dom harus dibuat
Abhishek Dhanraj Shahdeo
Anda dapat memperbarui jawaban Anda dengan masalah saat ini ketika mengikuti jawaban saya.
Khoa TruongDinh