Como criar e mostrar atributos personalizados do produto?

O Magento oferece a opção de criar atributos personalizados nos produtos.

Mas o que é isto?

É alguma informação extra que você precisa por no seu produto e que não vem, por padrão, no Magento.
Por exemplo, um produto elétrico no qual você precisa exibir as informações de voltagem, amperagem, watts, etc…

Quando que vou usar?

Além de usar para definir as características isoladas de um produto não-padrão, você pode criar atributos para usar em selos (frete grátis, extras).

Também para definir a quantidade de parcelas em que o produto pode ser pago.

Se utilizar a criatividade você encontrar uma série de outras vantagem desse recurso.

Como fazer um atributo personalizado no produto?

Pelo admin acessar o menu:
Catálogo > Atributos > Gerenciar Atributos
Catalog > Attributes > Manage Attributes

Depois associar seu atributo criado no grupo de atributos

Catálogo > Atributos > Gerenciar Grupo de Atributos
Catalog > Attributes > Manage Attribute Sets

Quais são os tipos de atributo que posso criar?

Campo de text | Text Field
Área de texto | Text Area
Data | Date
Sim/Não | Yes/No
Multiplas Seleções | Multiple Select
Selecionar 1 (select) | Dropdown
Preço | Price
Imagem | Media Image
Taxa Adicional | Fixed Product Tax

Materiais para estudar (em inglês):

How do Attributes work in Magento?

Magento – Knowledge Base – Tutorial: Creating Attributes (custom fields)

Magento – Wiki – ADMIN: Catalog → Attributes → Manage Attributes

Chega de historinha!!!

Quero saber como faço para exibir estes dados no lugar que eu desejar!!!

Lembre-se que a variável que recebe a instância do produto pode ter nome diferente dependendo do módulo que você está.

<?php
 $attributes = $_product->getAttributes(); // retorna um array com todos os atributos do produto
?>

Você pode pegar os valores dos atributos informando o código na posição do array.

Isto não serve só para os atributos personalizados, mas para todos os atributos do produto.

<?php echo $attributes['frete_gratis']->getFrontend()->getValue($_product); ?><br />
 <?php echo $attributes['manufacturer']->getFrontend()->getValue($_product); ?><br />
 <?php echo $attributes['sku']->getFrontend()->getValue($_product); ?><br />
 <?php echo $attributes['price']->getFrontend()->getValue($_product); ?><br />
 <?php echo $attributes['mapa']->getFrontend()->getValue($_product); //retorna o caminho da imagem ?>

Na chave da posição do Array você coloca o id do atributo.

Desse jeito você consegue exibir todos os tipos de atributo.

Mas existe uma maneira mas simples caso seu atributo seja só de texto.

<?php
 $txtAttr = $_product->getAttributeText(color); //Retorna um tributo do tipo texto, deve ser passado como parametro o código do atributo
 echo($txtAttr);
 ?><br />

Também é possível exibir o label(rótulo) do atributo através deste método:

$storeLabel = $_product->getResource()->getAttribute('color')->getStoreLabel(); //Retorna o label que você deu ao campo
 echo ($storeLabel);

O resultado que você vai ver com estes códigos é + ou – este:

magento-imagem-atributos-01

2017-01-24T20:26:21+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x