Closed luzgustavo closed 6 years ago
Legal @luzgustavo!
Vou verificar para implementar na próxima versão...
Abraço!
Ola @luzgustavo
Publiquei a versao 1.5.1 com a pull request que contempla as funcionalidades com relação ao gerenciamento de Variações nos Anuncios.
Mais uma vez obrigado por contribuir!
Abraço cara, valeu!
Diego, vi a atualização, mas me diga como proceder para variações combinadas, COR/TAMANHO por exemplo. Como é configurado o attributeCombination se eu já sei os atributos e valores que devo enviar? Grato
Em qua, 17 de out de 2018 às 22:47, Diego Wagner notifications@github.com escreveu:
Closed #9 https://github.com/discovery-tecnologia/dsc-mercado-livre/issues/9.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/discovery-tecnologia/dsc-mercado-livre/issues/9#event-1911066525, or mute the thread https://github.com/notifications/unsubscribe-auth/ApwOFGmrDtLk0SPZRuKLL0pyuUPsFRFKks5ul928gaJpZM4XEcxS .
-- Abraços
Gustavo da Luz http://www.gustavodaluz.com.br falecom@gustavodaluz.com.br (E-mail) msn@gustavodaluz.com.br (Msn)
Opa @luzgustavo , entao...
Isso vai depender muito da categoria que vc escolhe para o seu Produto... vou usar essa como exemplo: https://api.mercadolibre.com/categories/MLB46595/attributes#json
O AttributeCombination e um array de Objetos que sao enviados A estrutura que precisamos enviar no attribute_combinations seria essa...
"variations":[
{
"attribute_combinations":[
{
"name":"Tipo de acessório",
"value_id":"3786926",
"value_name":"Capa"
},
{
"name":"Tipo de acessório",
"value_id":"3786927",
"value_name":"Kit de ferramentas"
},
]
}
]
Ok, voce precisa montar uma logica ou uma tela para o seu usuario escolher uma Categoria (Final). Com base nessa escolha, vc precisaria exibir os possiveis atributos para esta Categoria...
$item = new Item();
$item->setTitle('Test item - no offer');
....
// Gambiarra aqui so pra ilustrar
$service = new CategoryService();
// Consulta os atributos de uma determinada categoria
$attributes = $service->findCategoryAttributes('MLB46595');
$attributeCombination = new AttributeCombination();
foreach($attributes as $attr) {
if($attr->getId() == 'ACCESSORY_TYPE') {
$id = $attr->getId();
$attributeCombination->setName($attr->getName());
$value = $attr->getValues()->first(); // pego o primeiro item da Collection apenas como exemplo...
$attributeCombination->setValueId($value->getId());
$attributeCombination->setValueName($value->getName());
break;
}
}
// Primeira variacao
$variation = new Variation();
$variation->setPrice(120);
$variation->setAvailableQuantity(10);
$variation->addAttributeCombination($attributeCombination); // o add variation e um array, ou seja, vc pode ir adicionando aqui...
$variation->setPictureIds([
'http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg'
]);
$item->addVariation($variation); // lembrando que vc pode adicionar outras variacoes
Eu sei que eh meio complexo mesmo... mas...
Tem esse Post aqui, que talvez ilustre a ideia tambem! https://developers-forum.mercadolibre.com/topic/2225-problema-ao-enviar-produto-com-varia%C3%A7%C3%A3o-itemvariationsattribute_combinationsmissing/
Qualquer coisa, posta aqui! Valeu!
Beleza, era só pra saber como passar os atributos, se é o Json no mesmo padrão eu sei o caminho, achei que era atraves de alguma função interna.
Valeu pela atenção meu velho. Abraço
Em Sex, 19 de out de 2018 21:57, Diego Wagner notifications@github.com escreveu:
Opa @luzgustavo https://github.com/luzgustavo , entao...
Isso vai depender muito da categoria que vc escolhe para o seu Produto... vou usar essa como exemplo: https://api.mercadolibre.com/categories/MLB46595/attributes#json
O AttributeCombination e um array de Objetos que sao enviados A estrutura que precisamos enviar no attribute_combinations seria essa...
"variations":[ { "attribute_combinations":[ { "name":"Tipo de acessório", "value_id":"3786926", "value_name":"Capa" }, { "name":"Tipo de acessório", "value_id":"3786927", "value_name":"Kit de ferramentas" }, ] } ]
Ok, voce precisa montar uma logica ou uma tela para o seu usuario escolher uma Categoria (Final). Com base nessa escolha, vc precisaria exibir os possiveis atributos para esta Categoria...
$item = new Item();$item->setTitle('Test item - no offer');....// Gambiarra aqui so pra ilustrar$service = new CategoryService();// Consulta os atributos de uma determinada categoria$attributes = $service->findCategoryAttributes('MLB46595');$attributeCombination = new AttributeCombination();foreach($attributes as $attr) { if($attr->getId() == 'ACCESSORY_TYPE') { $id = $attr->getId(); $attributeCombination->setName($attr->getName()); $value = $attr->getValues()->first(); // pego o primeiro item da Collection apenas como exemplo... $attributeCombination->setValueId($value->getId()); $attributeCombination->setValueName($value->getName()); break; }}// Primeira variacao$variation = new Variation();$variation->setPrice(120);$variation->setAvailableQuantity(10);$variation->addAttributeCombination($attributeCombination); // o add variation e um array, ou seja, vc pode ir adicionando aqui...$variation->setPictureIds([ 'http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg']);$item->addVariation($variation); // lembrando que vc pode adicionar outras variacoes
Eu sei que eh meio complexo mesmo... mas...
Tem esse Post aqui, que talvez ilustre a ideia tambem!
Qualquer coisa, posta aqui! Valeu!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/discovery-tecnologia/dsc-mercado-livre/issues/9#issuecomment-431535473, or mute the thread https://github.com/notifications/unsubscribe-auth/ApwOFChJ2dIH3YsalfHfveRAG3rwJuvvks5umnUSgaJpZM4XEcxS .
Fala Diego, cá estou eu te atormentando novamente. Enfim, resumindo, tentei usar a opção de autorização de sua biblioteca e rodar minha aplicação depois de realizada esta validação com APP_ID e KEY, porém estou recebendo um erro, veja se pode me dizer o que é:
Fatal error: Uncaught TypeError: Return value of
Doctrine\Common\Annotations\AnnotationRegistry::registerLoader() must be an
instance of Doctrine\Common\Annotations\void, none returned in
/var/www/html/ml/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php:117Stack
trace:#0
/var/www/html/ml/vendor/dsc/mercado-livre/src/Configuration.php(29):
Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists')#1
/var/www/html/ml/vendor/dsc/mercado-livre/src/Environment.php(31):
Dsc\MercadoLivre\Configuration->construct()#2
/var/www/html/ml/vendor/dsc/mercado-livre/src/Meli.php(29):
Dsc\MercadoLivre\Environment->construct()#3
/var/www/html/ml/admin/syncro.php(97):
Dsc\MercadoLivre\Meli->__construct('162697631533406...',
'CtYa72pBLXp4VGl...')#4 {main} thrown in
/var/www/html/ml/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php
on line 117
Tentei dar um composer update mas não resolveu.
Desde já agradeço.
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail Livre de vírus. www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail. <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
Em sex, 19 de out de 2018 às 22:27, Gustavo da Luz gustavordaluz@gmail.com escreveu:
Beleza, era só pra saber como passar os atributos, se é o Json no mesmo padrão eu sei o caminho, achei que era atraves de alguma função interna.
Valeu pela atenção meu velho. Abraço
Em Sex, 19 de out de 2018 21:57, Diego Wagner notifications@github.com escreveu:
Opa @luzgustavo https://github.com/luzgustavo , entao...
Isso vai depender muito da categoria que vc escolhe para o seu Produto... vou usar essa como exemplo: https://api.mercadolibre.com/categories/MLB46595/attributes#json
O AttributeCombination e um array de Objetos que sao enviados A estrutura que precisamos enviar no attribute_combinations seria essa...
"variations":[ { "attribute_combinations":[ { "name":"Tipo de acessório", "value_id":"3786926", "value_name":"Capa" }, { "name":"Tipo de acessório", "value_id":"3786927", "value_name":"Kit de ferramentas" }, ] } ]
Ok, voce precisa montar uma logica ou uma tela para o seu usuario escolher uma Categoria (Final). Com base nessa escolha, vc precisaria exibir os possiveis atributos para esta Categoria...
$item = new Item();$item->setTitle('Test item - no offer');....// Gambiarra aqui so pra ilustrar$service = new CategoryService();// Consulta os atributos de uma determinada categoria$attributes = $service->findCategoryAttributes('MLB46595');$attributeCombination = new AttributeCombination();foreach($attributes as $attr) { if($attr->getId() == 'ACCESSORY_TYPE') { $id = $attr->getId(); $attributeCombination->setName($attr->getName()); $value = $attr->getValues()->first(); // pego o primeiro item da Collection apenas como exemplo... $attributeCombination->setValueId($value->getId()); $attributeCombination->setValueName($value->getName()); break; }}// Primeira variacao$variation = new Variation();$variation->setPrice(120);$variation->setAvailableQuantity(10);$variation->addAttributeCombination($attributeCombination); // o add variation e um array, ou seja, vc pode ir adicionando aqui...$variation->setPictureIds([ 'http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg']);$item->addVariation($variation); // lembrando que vc pode adicionar outras variacoes
Eu sei que eh meio complexo mesmo... mas...
Tem esse Post aqui, que talvez ilustre a ideia tambem!
Qualquer coisa, posta aqui! Valeu!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/discovery-tecnologia/dsc-mercado-livre/issues/9#issuecomment-431535473, or mute the thread https://github.com/notifications/unsubscribe-auth/ApwOFChJ2dIH3YsalfHfveRAG3rwJuvvks5umnUSgaJpZM4XEcxS .
-- Abraços
Gustavo da Luz http://www.gustavodaluz.com.br falecom@gustavodaluz.com.br (E-mail) msn@gustavodaluz.com.br (Msn)
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail Livre de vírus. www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail. <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
Opa @luzgustavo , blz? Cara, qual a versão do PHP que você está usando? Me parece que alguma dependência está sendo atualizada acima da versão 7... já tive problemas com isso em outros projetos... vou verificar se é isso mesmo...
Então, o server do meu cliente é 7.0 e vi que no composer tem exigências de versão 7.1 pra cima, deve ser isso. Pedi para atualizarem, te dou feedback em seguida, até para você atualizar as exigências da biblioteca.
Em qua, 7 de nov de 2018 às 09:28, Diego Wagner notifications@github.com escreveu:
Opa @luzgustavo https://github.com/luzgustavo , blz? Cara, qual a versão do PHP que você está usando? Me parece que alguma dependência está sendo atualizada acima da versão 7... já tive problemas com isso em outros projetos... vou verificar se é isso mesmo...
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/discovery-tecnologia/dsc-mercado-livre/issues/9#issuecomment-436593679, or mute the thread https://github.com/notifications/unsubscribe-auth/ApwOFHyWEH-726rtWT7vNOD8qw1gBKh8ks5ussPrgaJpZM4XEcxS .
-- Abraços
Gustavo da Luz http://www.gustavodaluz.com.br falecom@gustavodaluz.com.br (E-mail) msn@gustavodaluz.com.br (Msn)
Ola @luzgustavo ! Publiquei uma nova versao (1.6.1) que corrige as dependencias do Doctrine... o doctrine-instantiator estava sendo baixado com funcionalidades do PHP > 7.1 Eu subi um container docker e testei com a versao 5.6 do PHP e realmente estava quebrando...
Ha outra coisa @luzgustavo! Se voce encontrar algum outro problema (ou se ainda estiver com o mesmo problema)... sugiro abrir outra Issue, pra nao poluir essa aqui... quem tiver o mesmo problema ira se confundir pra encontrar depois! Ja que o titulo dessa e Atributos e Variações
Obrigado por contribuir! Valeu abraco!
Diego, seria interessante permitir o cadastro de atributos e variações com estoque, SKU, etc. Foi a única coisa que senti falta, pois o restante está perfeito.