magento 2 - Como obter o nome do conjunto de atributos na página de listagem e detalhes do produto


Respostas:


15

Podemos usar \Magento\Eav\Api\AttributeSetRepositoryInterfacepara obter o nome do conjunto de atributos.

Página de detalhes

Precisamos substituir o \Magento\Catalog\Block\Product\Viewbloco. Injete esta classe no construtor

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

Agora, podemos chamar a página de detalhes do produto: $block->getAttributeSetName();

Página de listagem

Precisamos substituir o \Magento\Catalog\Block\Product\ListProductbloco

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

Nós podemos ligar $block->getAttributeSetName($_product).


$ attributeSet e US $ produto são variáveis indefinidas, eu sou muito novo para magento2 e eu não sou capaz de entender o que exatamente eu preciso escrever
— Abhishek Dhanraj Shahdeo

Você pode ver minha resposta atualizada. Suficiente para ti?
— precisa saber é o seguinte

Estou tentando implementá-lo em bloco lista de produtos, mas ele não está funcionando tão exata, fazendo algumas modificações
— Abhishek Dhanraj Shahdeo

Estou ficando objeto de erro dom deve ser criado
— Abhishek Dhanraj Shahdeo

Você pode atualizar sua resposta com o problema atual ao seguir minha resposta.
— precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.