Inserir Atributos de Categoria
Closed this issue · 7 comments
@dilowagner, tudo bem.
Poderia dar um exemplo de como adicionar os atributos de uma categoria no momento da publicação do produto. Encontrei apenas para variação.
$attributeCombination = new AttributeCombination();
// E necessario selecionar os atributos da Categoria e setar no AttributeCombination
// Primeira variacao
$variation = new Variation();
$variation->setPrice(120);
$variation->setAvailableQuantity(10);
$variation->addAttributeCombination($attributeCombination);
$variation->setPictureIds([
'http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg'
]);
$item->addVariation($variation);
Originally posted by @ombrodrigo in #16 (comment)
Opa @ombrodrigo
Abri outra Issue aqui...
Vou criar um exemplo...
@ombrodrigo basicamente, vc precisa consultar antes os atributos da Categoria (com o ID da Categoria)
<?php
// Consideramos que já existe um autoloader compatível com a PSR-4 registrado
// DEMAIS use`s
use Dsc\MercadoLivre\Requests\Category\CategoryService;
// E NECESSARIO ESTAR AUTENTICADO...
$meli = new Meli('APP-ID', 'SECRET-ID');
$item = new Item();
$item->setTitle('Test item - no offer')
->setCategoryId('ID-CATEGORIA');
// Consulta os atributos de uma determinada categoria
$service = new CategoryService();
$attributes = $service->findCategoryAttributes('ID-CATEGORIA');
$item->setAttributes($attributes);
Muito obrigado.
Olá, sobre os attributes como eu deveria preenche-los no caso do erro abaixo?
"Couldn't obtain a valid item condition mapping from ITEM_CONDITION attribute. Please provide a value_id.",
"error":"item.attributes.condition.invalid"
Alguns atributos são obrigatórios para determinadas categorias, eu deveria buscá-los antes, correto? E com essa informação em mãos montar inputs dinamicamente para que seja preenchidos e na hora da criação do anúncio suprir com o que foi informado?
Isso mesmo @diegodario88
Talvez, vc precise exibir as Categorias para o seu usuário...
E depois que ele selecionar determinada Categoria...
Vc exibiria outro Input Select para ele selecionar os Atributos de acordo com a Categoria selecionada
@dilowagner Estou um pouco confuso com relação ao attributes ainda, por exemplo os attributes que são do tipo string eu apenas seto o valueName dele e os que são do tipo Lista eu preciso setar o valueName e o valueId?
Eh bem complexo essa parte de Atributos mesmo kkkkk
Pela DOC quando o value_type
for list
, vc pode enviar na chave values
, que aqui na lib esta mapeado por uma Collection da classe AtributeValue
Exemplo da DOC
{
"id": "COLOR",
"name": "Color",
"tags": {
"allow_variations": true,
"hidden": true
},
"type": "color",
"value_type": "list",
"values": [
{
"id": "52049",
"name": "Negro",
"metadata": {
"rgb": "000000"
}
},
{
"id": "51993",
"name": "Rojo",
"metadata": {
"rgb": "FF0000"
}
}
],
"attribute_group_id": "DFLT",
"attribute_group_name": "Otros"
},