deivisonarthur / OSC-Magento-Brasil-6-Pro

One Step Checkout Brasil 6 Pro
75 stars 103 forks source link

Save Shipment Method não funciona para finalizar o pedido. #98

Open cesaroito opened 9 years ago

cesaroito commented 9 years ago

Olá, Eu fiz um teste com todas as possibilidades de entrega, inclusive nos temas padrão do Magento. Quando temos somente um método de entrega disponível e o cliente irá preencher o endereço de cobrança ou endereço de entrega, ele não consegue salvar o método de entrega e portanto não consegue finalizar o pedido. Agora se eu habilito mais de um funciona normalmente. Se puderem ajudar, agradeço.

rafaelstz commented 9 years ago

Quais métodos de entrega utiliza? (Quais módulos?)

cesaroito commented 9 years ago

Em dois sites eu utilizo o OSC 6.0. Em um deles eu uso os Correios (Pedro Teixeira) e no outro eu uso o Matrix Rates. Em ambos os casos, quando eu habilito somente uma forma de pagamento e preciso preencher o endereço na página onstepcheckout/index/ ocorre este problema. Caso o endereço já esteja preenchido, não acontece nada. Já experimentei isto com frete grátis, Frete fixo e ocorre o mesmo problema. Não utilizo o masks.js que poderia gerar o conflito. Você pode verificar em: www.petitebox.com.br/petitebox_store/

cesaroito commented 9 years ago

Oi Rafael, alguma novidade sobre esta issue???

roneclay-zz commented 9 years ago

Mesmo problema!!

isaaclopes commented 9 years ago

ola, não sei se seria isso mas poderia verificar? https://github.com/deivisonarthur/OSC-Magento-Brasil-6-Pro/commit/7d3a239471e8da279f69646caa0d1e76c3a4cc52

cesaroito commented 9 years ago

Olá, Esta atualização que você fez no módulo não adiantou. Isaac, você pode fazer um teste agora e verificar que ainda não atualiza o shipment method.

roneclay-zz commented 9 years ago

@isaaclopes não tive tempo para testar sua indicação, mas para quem precisa com urgência, como eu, a única forma que achei foi exibir o input radio mesmo haja que apenas uma opção de frete esteja disponível, assim o cliente é obrigado a 'checkar' a opção.

<?php //if ($_sole) : ?>
                                                <!--<span class="no-display"><input name="shipping_method" type="radio" value="<?php //echo $_rate->getCode() ?>" id="s_method_<?php //echo $_rate->getCode() ?>" checked="checked" /></span>-->
                                            <?php //else: ?>
                                                <input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if ($_rate->getCode() === $this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio"/>
                                            <?php //endif; ?>
cesaroito commented 9 years ago

Olá @roneclay , eu fiz um teste aqui na minha loja e funcionou também. Obrigado pela dica.

isaaclopes commented 9 years ago

@roneclay @cesaroito acabei de ajustar no js

cesaroito commented 9 years ago

Olá @isaaclopes , o ajuste que você fez no js não funcionou no meu caso. eu tive que voltar a solução que o @roneclay colocou logo acima.

wesmes commented 8 years ago

Muito obrigado pela solução @roneclay, serviu perfeitamente. Abraço.

juanloayte commented 8 years ago

@roneclay obrigado pela solução, funcionou pra mim.

PauloBoaventura commented 6 years ago

Até agora nada de uma atualização?

gilano commented 5 years ago

Eu consegui contornar este problema adicionando um JavaScript no arquivo _\template\onestepcheckout\onestep\form\shippingmethod.phtml.

Após a linha 32

<input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>" class="radio"/>

Inseri o seguinte código JavaScript para forçar a seleção do método de envio após a página carregar as opções de frete disponíveis (por isso o uso do timer):

<script type="text/javascript"> setTimeout( function(){ $('s_method_<?php echo $_rate->getCode() ?>').click(); }, 250); </script>