a função "addToCart" não esta funcionando.
zeluizr opened this issue · 11 comments
Verificando o vtex.js ativo no front que é o: http://io.vtex.com.br/vtex.js/1.0.0/vtex.min.js
não tem a função addToCart.
Fala ai @BrenoC,
Sabe porque essa função não esta mais funcionando?
Obrigado.
Ze Luiz Rodrigues
eCommerce | User Experience Manager
Av. Pueyrredon 468 Piso 10 - C.A.B.A.
1191AAA - Bs. As. - Argentina
+54 11 4959 6967
+54 9 11 3637 6670
www.fravega.com
Exatamente pelo motivo que você falou:
Verificando o vtex.js ativo no front que é o: http://io.vtex.com.br/vtex.js/1.0.0/vtex.min.js não tem a função addToCart.
Nós fizemos uma breaking change no comportamento do vtex.js e não estamos seguros se devemos migrar todas as lojas para a versão 2, por isso a versão 1 está sendo inserida nas páginas.
Acredito que o melhor seja criamos uma versão 3 tirando essa breaking change, mantendo compatibilidade com a versão 1.
@BrenoC, a versão ainda não foi atualizada, e continua o erro. Como faço para voltar a usar essa funcionalidade?
Oi, @zeluizr, verifiquei em algumas lojas e o script vtex.js está sendo inserido na versão 2.0. Qual loja que você está tendo problemas?
Oi @BrenoC, cara acredito que em algumas das lojas aqui na Argentina.
http://electrastore.vtexcommercestable.com.br
http://stylewatch.vtexcommercestable.com.br
Faço teste pelo Speed, e em Stable e não funciona, segue trazendo o mesmo error.
@zeluizr eu testei nas duas lojas e em ambas estão sendo entregues os scripts na versão 2 com a função addToCart
definida.
Qual o erro que está acontecendo? Tem certeza de que está usando a função depois do script do vtexjs ser inserido? Pode ser que seu script esteja sendo inserido antes dele.
@BrenoC fala ai blz?
Aparentemente foi adicionado, porém não consigo adicionar nada ao carrinho com a função, ela me retorna um erro: vtex.js:758 Uncaught Error: This method requires an OrderForm. Use getOrderForm beforehand.
e estou copiando e colando da documentação.
@zeluizr Aqui eu executei e funcionou. http://prntscr.com/csxhpc
Mas você está passando outros parametros na addToCart (null, 1)
pq ?
Comandos que executei:
vtexjs.checkout.getOrderForm().done(function(e){ console.log(e) });
var item = { id: 14, quantity: 1, seller: 1 };
vtexjs.checkout.addToCart([item]).done(function(e){ console.log(e) });
Consegue testar passando só o item no addToCart ?
Abs.
@felipebremer, cara eu estava enviando os outros parametros, porque assim informa na DOC do vtex.js
Fiz o teste, e funcionou perfeito. Muito obrigado!
Obrigado @BrenoC ;)
So esclarecendo que o problema foi: não esperar a resposta a chamada a função getOrderForm
. Como ela é uma operação assincrona, deve se esperar o seu retorno para fazer qualquer operacao no carrinho.
A documentação nao está informando isso de forma clara.
A issue #19 é um caminho para resolver esse problema de usabilidade da API do vtex.js
Os paramêtros a mais que estão na documentação estão corretos e não são a causa do erro.