Página 2 de 3

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 13 Ago 2013, 12:35
por thiagottorres
Alguma solução para a versão 1.5.4.1 ?

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 21 Jan 2014, 10:52
por ewippel
Esta modificação não funciona para versão 1.5.4? Alguém confirma isso?

Mais uma coisa... caso eu queira que o frete grátis seja PAC com contrato, quais modificações eu tenho que fazer no código?

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 22 Jan 2014, 09:17
por ewippel
Ninguém? =/

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 30 Jan 2014, 09:58
por ewippel
Geeente! Alguém pelo amor aparece aqui para dar uma mão!

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 30 Jan 2014, 10:15
por ewippel
leandro.caetano escreveu:
Código: Selecionar todos
<modification>
	<id>Frete Gratis via PAC</id>
	<version>1.0.0</version>
	<vqmver>2.1.5 </vqmver>
	<author> Leandro Caetano - leandrocaetano.info - leandrojcaetano@gmail.com </author>
	
	<!-- Alteração no checkout, na hora de finalizar o pedido-->
	<file name="catalog/view/theme/*/template/checkout/shipping_method.tpl">
	  <operation error="skip">
            <search position="replace" offset="22"><![CDATA[
                <table class="radio">
            ]]></search>
            <add><![CDATA[
				<table class="radio">
				<!-- Removido os titulos das formas de envio. Ex.: Frete Gratis, Correios, Retirada na Loja...-->
				<!-- Definindo variaveis que irão receber os valores, caso haja frete gratis-->
				<?php $gratis = null; 
				$gratis_valor = null;?>	
				
				<!-- Busca todos os métodos de envio -->
				<?php foreach ($shipping_methods as $shipping_method) { ?>
				<!--  Busca todos as formas de envio dentro dos métodos -->
				<?php foreach ($shipping_method['quote'] as $quote) { ?>
						<!-- Se houver frete gratis, configurado no módulo Frete Gratis -->
						<?php if ($quote['code'] == "free.free") { ?>
							<!-- Atribui à variavel o texto que aparecerá no lugar do valor do PAC -->
							<?php $gratis = "Gr&aacute;tis"; ?>
							<!-- Atribui à variavel o valor correspondente ao frete gratis (zero) -->
							<?php $gratis_valor = $quote['code']; ?>
							<!-- Verifica se é PAC (correios.41106), utilizando a codificação configurado no módulo "Correios" -->
						<?php } else if ($quote['code'] == "correios.41106") { ?>
						<tr class="highlight">
					<!-- Se a variável "gratis_valor" for diferente de null, é pq ela foi alterada dentro da condição do frete gratis.
						Logo, atribui-se o código de frete gratis (free.free), ao PAC. -->
						<?php if ($gratis_valor != null) $quote['code'] = $gratis_valor; ?>
							<!-- Verifica o código da forma de envio e printa o radiobutton na tela-->
							<td> <?php if ($quote['code'] == $code || !$code) { ?>
							  <?php $code = $quote['code']; ?>	  
							  <input type="radio" name="shipping_method" value="<?php echo $quote['code']; ?>" id="<?php echo $quote['code']; ?>" checked="checked" />
							  <?php } else { ?>
							  <input type="radio" name="shipping_method" value="<?php echo $quote['code']; ?>" id="<?php echo $quote['code']; ?>" />
							  <?php } ?></td>
							<td> <label for="<?php echo $quote['code']; ?>"><?php echo $quote['title']; ?></label></td>
							<!-- Se a variável "gratis" for diferente de null, é pq ela foi alterada dentro da condição do frete gratis. Logo, atribui-se o texto do frete gratis (Gr&aacute;tis), ao PAC. -->
							<?php if ($gratis != null) $quote['text'] = $gratis; ?> 
							<td style="text-align: right;"><label for="<?php echo $quote['code']; ?>"><?php echo $quote['text']; ?></label></td>
						</tr>
						<!-- Fim da condição PAC e segue para as demais formas de envio. -->
						<?php } else { ?>
						<tr class="highlight">
						<!-- Verifica o código da forma de envio e printa o radiobutton na tela-->
							<td> <?php if ($quote['code'] == $code || !$code) { ?>
							  <?php $code = $quote['code']; ?>	  
							  <input type="radio" name="shipping_method" value="<?php echo $quote['code']; ?>" id="<?php echo $quote['code']; ?>" checked="checked" />
							  <?php } else { ?>
							  <input type="radio" name="shipping_method" value="<?php echo $quote['code']; ?>" id="<?php echo $quote['code']; ?>" />
							  <?php } ?></td>
							<td> <label for="<?php echo $quote['code']; ?>"><?php echo $quote['title']; ?></label></td>
							<td style="text-align: right;"><label for="<?php echo $quote['code']; ?>"><?php echo $quote['text']; ?></label></td>
						</tr>
							<?php } ?>
					<?php } ?>
            ]]></add>
          </operation>
	</file>
	
	<!-- Alteração no carrinho, na simulação do frete -->
	<file name="catalog/view/theme/*/template/checkout/cart.tpl">
	<operation error="skip">
            <search position="replace" offset="26"><![CDATA[
                html += '  <table class="radio">';
            ]]></search>
            <add><![CDATA[
				html += '  <table class="radio">';
				<!-- Removido os titulos das formas de envio. Ex.: Frete Gratis, Correios, Retirada na Loja...-->
				<!-- Definindo variaveis que irão receber os valores, caso haja frete gratis-->	
				var gratis = null;
				var gratis_valor = null;

				<!-- Busca todos os métodos de envio -->
				for (i in json['shipping_method']) {
						<!--  Busca todos as formas de envio dentro dos métodos-->
						for (j in json['shipping_method'][i]['quote']) {
							<!-- Se houver frete gratis, configurado no módulo Frete Gratis -->
							if (json['shipping_method'][i]['quote'][j]['code'] == "free.free") {
								<!-- Atribui à variavel o texto que aparecerá no lugar do valor do PAC -->
								gratis = "Gr&aacute;tis";
								<!-- Atribui à variavel o valor correspondente ao frete gratis (zero) -->
								gratis_valor = json['shipping_method'][i]['quote'][j]['code'];
								<!-- Verifica se é PAC, utilizando a codificação configurado no módulo "Correios" -->
							} else if (json['shipping_method'][i]['quote'][j]['code'] == "correios.41106") {
							<!-- Se a variável "gratis_valor" for diferente de null, é pq ela foi alterada dentro da condição do frete gratis.	Logo, atribui-se o código de frete gratis (free.free), ao PAC. -->
									if (gratis_valor != null) json['shipping_method'][i]['quote'][j]['code'] = gratis_valor;
									
									html += '<tr class="highlight">';
									<!-- Verifica o código da forma de envio e printa o radiobutton na tela-->
									if (json['shipping_method'][i]['quote'][j]['code'] == '<?php echo $shipping_method; ?>') {
										html += '<td><input type="radio" name="shipping_method" value="' + json['shipping_method'][i]['quote'][j]['code'] + '" id="' + json['shipping_method'][i]['quote'][j]['code'] + '" checked="checked" /></td>';
									} else {
										html += '<td><input type="radio" name="shipping_method" value="' + json['shipping_method'][i]['quote'][j]['code'] + '" id="' + json['shipping_method'][i]['quote'][j]['code'] + '" /></td>';
									}
										
									html += '  <td><label for="' + json['shipping_method'][i]['quote'][j]['code'] + '">' + json['shipping_method'][i]['quote'][j]['title'] + '</label></td>';
									<!-- Se a variável "gratis" for diferente de null, é pq ela foi alterada dentro da condição do frete gratis. Logo, atribui-se o texto do frete gratis (Gr&aacute;tis), ao PAC. -->
									if (gratis != null) json['shipping_method'][i]['quote'][j]['text'] = gratis;
									html += '  <td style="text-align: right;"><label for="' + json['shipping_method'][i]['quote'][j]['code'] + '">' + json['shipping_method'][i]['quote'][j]['text'] + '</label></td>';
									html += '</tr>'; 
							<!-- Fim da condição PAC e segue para as demais formas de envio. -->		 
							} else {							
							html += '<tr class="highlight">';
							<!-- Verifica o código da forma de envio e printa o radiobutton na tela-->
							if (json['shipping_method'][i]['quote'][j]['code'] == '<?php echo $shipping_method; ?>') {
								html += '<td><input type="radio" name="shipping_method" value="' + json['shipping_method'][i]['quote'][j]['code'] + '" id="' + json['shipping_method'][i]['quote'][j]['code'] + '" checked="checked" /></td>';
							} else {
								html += '<td><input type="radio" name="shipping_method" value="' + json['shipping_method'][i]['quote'][j]['code'] + '" id="' + json['shipping_method'][i]['quote'][j]['code'] + '" /></td>';
							}
								
							html += '  <td><label for="' + json['shipping_method'][i]['quote'][j]['code'] + '">' + json['shipping_method'][i]['quote'][j]['title'] + '</label></td>';
							html += '  <td style="text-align: right;"><label for="' + json['shipping_method'][i]['quote'][j]['code'] + '">' + json['shipping_method'][i]['quote'][j]['text'] + '</label></td>';
							html += '</tr>';
							}
						}		
				}
			]]></add>
          </operation>
	</file>
</modification>
Eu não entendi o que eu faço com esse código! Insiro ele num novo arquivo xml e subo pelo ftp? Ou eu modifico o módulo dos Correios?

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 30 Jan 2014, 10:34
por leandro.caetano
olá,

você deve criar um xml e jogar no servidor via FTP. Depois disso é apenas ter o módulo "Frete Gratis" habilitado e configurado.

Esta alteração foi implementada na versão 1.5.4.

abraços,

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 30 Jan 2014, 16:05
por ewippel
leandro.caetano escreveu:olá,

você deve criar um xml e jogar no servidor via FTP. Depois disso é apenas ter o módulo "Frete Gratis" habilitado e configurado.

Esta alteração foi implementada na versão 1.5.4.

abraços,
Funcionou perfeitamente! Estou usando a versão 1.5.4.

Valeu, Leandro!

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 30 Jan 2014, 18:12
por leandro.caetano
ewippel escreveu:
leandro.caetano escreveu:olá,

você deve criar um xml e jogar no servidor via FTP. Depois disso é apenas ter o módulo "Frete Gratis" habilitado e configurado.

Esta alteração foi implementada na versão 1.5.4.

abraços,
Funcionou perfeitamente! Estou usando a versão 1.5.4.

Valeu, Leandro!
Legal!!!! Qualquer coisa estou a disposição.

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 25 Mai 2014, 21:48
por wimza
Será que funciona em 1.5.6.3?

Re: [MÓDULO] Frete Grátis via PAC

Enviado: 25 Mai 2014, 22:26
por wimza
leandro.caetano escreveu:
ewippel escreveu:
leandro.caetano escreveu:olá,

você deve criar um xml e jogar no servidor via FTP. Depois disso é apenas ter o módulo "Frete Gratis" habilitado e configurado.

Esta alteração foi implementada na versão 1.5.4.

abraços,
Funcionou perfeitamente! Estou usando a versão 1.5.4.

Valeu, Leandro!
Legal!!!! Qualquer coisa estou a disposição.
Em 1.5.6.3 será que funciona ou precisaria de adaptações?
(desculpe repetir, esqueci de marcar receber notificação quando respondida)