magento 2 - So erhalten Sie den Attributsatznamen in der Produktliste und auf der Produktdetailseite


Antworten:


14

Wir können verwenden \Magento\Eav\Api\AttributeSetRepositoryInterface, um den Attributsatznamen zu erhalten.

Detailseite

Wir müssen den \Magento\Catalog\Block\Product\ViewBlock überschreiben . Injizieren Sie diese Klasse in den 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();
}

Jetzt können wir die Produktdetailseite aufrufen: $block->getAttributeSetName();

Listingseite

Wir müssen den \Magento\Catalog\Block\Product\ListProductBlock überschreiben

/** @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();
}

Wir können anrufen $block->getAttributeSetName($_product).


$ attributeSet und $ product sind undefinierte Variablen, ich bin sehr neu in magento2 und ich kann nicht verstehen, was genau ich schreiben muss
Abhishek Dhanraj Shahdeo

Sie können meine aktualisierte Antwort sehen. Genug für dich?
Khoa TruongDinh

Ich versuche es im Produktlistenblock zu implementieren, aber es funktioniert nicht so genau und nimmt einige Änderungen vor
Abhishek Dhanraj Shahdeo

Ich
erhalte

Sie können Ihre Antwort mit dem aktuellen Problem aktualisieren, wenn Sie meiner Antwort folgen.
Khoa TruongDinh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.