- 16 Dez 2014, 00:57
#56321
Olá, bom dia, boa tarde, boa noite!
Comecei a estudar programação, sou iniciante, estou apanhando bastante!
Uso o Opencart 1.5.6.4 + Xampp 3.2.1, em ambiente Windows 7, mas vou instalar a loja hoje no servidor (hostgator) para testar melhor.
Estou tentando fazer uma modicação em: /catalog/view/theme/default/template/checkout/cart.tpl. (espero estar no lugar certo!)
No carrinho, como visitante, consegui deixar o campo de cep sempre visível, logo abaixo dos produtos do carrinho. Portanto, na opção "O que você gostaria de fazer em seguida?", ficou só o cupom e vale presente, não precisa clicar para aparecer o campo de cep.
Agora minha dúvida é, como eu faço para impedir que o visitante clique em "finalizar compra", sem preencher o cep, como acontece em algumas lojas grandes? Ex: sem o cep, aparecer uma mensagem avisando para pessoa preencher o cep antes de clicar em "finalizar a compra"? Mesmo antes do login?
Muito Obrigado
Abaixo as modificações que fiz, por enquanto parece estar funcionando, não sei se tem erros...
Apaguei o seguinte:
<div id="shipping" class="content" style="display: <?php echo ($next == 'shipping' ? 'block' : 'none'); ?>;">
<p><?php echo $text_shipping_detail; ?></p>
<table>
<tr>
<td><span class=”required”>*</span> <?php echo $entry_country; ?></td>
<td><select name=”country_id” onchange=”$( ‘select[name=\'zone_id\']‘ ).load(‘index.php?route=total/shipping/zone&country_id=’ + this.value + ‘&zone_id=<?php echo $zone_id; ?>’);”>
<option value=””><?php echo $text_select; ?></option>
<?php foreach ($countries as $country) { ?>
<?php if ($country['country_id'] == $country_id) { ?>
<option value=”<?php echo $country['country_id']; ?>” selected=”selected”><?php echo $country['name']; ?></option>
<?php } else { ?>
<option value=”<?php echo $country['country_id']; ?>”><?php echo $country['name']; ?></option>
<?php } ?>
<?php } ?>
</select></td>
</tr>
<tr>
<td><span class=”required”>*</span> <?php echo $entry_zone; ?></td>
<td><select name=”zone_id”>
</select></td>
</tr>
<tr>
<td><span id="postcode-required" class="required">*</span> <?php echo $entry_postcode; ?></td>
<td><input type="text" name="postcode" value="<?php echo $postcode; ?>" /></td>
</tr>
</table>
<input type="button" value="<?php echo $button_quote; ?>" id="button-quote" class="button" />
</div>
Apaguei também, logo depois de: <?php if ($coupon_status || $voucher_status || $reward_status || $shipping_status) { ?>, o seguinte:
<?php if ($shipping_status) { ?>
<tr class="highlight">
<td><?php if ($next == 'shipping') { ?>
<input type="radio" name="next" value="shipping" id="shipping_estimate" checked="checked" />
<?php } else { ?>
<input type="radio" name="next" value="shipping" id="shipping_estimate" />
<?php } ?></td>
<td><label for="shipping_estimate"><?php echo $text_shipping_estimate; ?></label></td>
</tr>
<?php } ?>
Adicionei, logo antes da linha <?php if ($coupon_status || $voucher_status || $reward_status || $shipping_status) { ?>, o seguinte:
<div id="shipping" class="content" style="display >
<table>
<input type="hidden" id="country_id" name="country_id" value="30" >
<input type="hidden" id="zone_id" name="zone_id" value="464" >
<td><span id="postcode-required" class="required">*</span> <?php echo $entry_postcode; ?></td>
<td><input type="text" name="postcode" value="<?php echo $postcode; ?>" /></td>
<br />
<td><input type="button" value="<?php echo $button_quote; ?>" id="button-quote" class="button" /></td>
</table>
<br />
<br />
</div>
Depois Modifiquei a parte abaixo, trocando "select" por "input":
</script>
<?php if ($shipping_status) { ?>
<script type="text/javascript"><!--
$('#button-quote').live('click', function() {
$.ajax({
url: 'index.php?route=checkout/cart/quote',
type: 'post',
data: 'country_id=' + $('input[name=\'country_id\']').val() + '&zone_id=' + $('input[name=\'zone_id\']').val() + '&postcode=' + encodeURIComponent($('input[name=\'postcode\']').val()),
Muito Obrigado pela atenção!
Rafael
Comecei a estudar programação, sou iniciante, estou apanhando bastante!
Uso o Opencart 1.5.6.4 + Xampp 3.2.1, em ambiente Windows 7, mas vou instalar a loja hoje no servidor (hostgator) para testar melhor.
Estou tentando fazer uma modicação em: /catalog/view/theme/default/template/checkout/cart.tpl. (espero estar no lugar certo!)
No carrinho, como visitante, consegui deixar o campo de cep sempre visível, logo abaixo dos produtos do carrinho. Portanto, na opção "O que você gostaria de fazer em seguida?", ficou só o cupom e vale presente, não precisa clicar para aparecer o campo de cep.
Agora minha dúvida é, como eu faço para impedir que o visitante clique em "finalizar compra", sem preencher o cep, como acontece em algumas lojas grandes? Ex: sem o cep, aparecer uma mensagem avisando para pessoa preencher o cep antes de clicar em "finalizar a compra"? Mesmo antes do login?
Muito Obrigado
Abaixo as modificações que fiz, por enquanto parece estar funcionando, não sei se tem erros...
Apaguei o seguinte:
<div id="shipping" class="content" style="display: <?php echo ($next == 'shipping' ? 'block' : 'none'); ?>;">
<p><?php echo $text_shipping_detail; ?></p>
<table>
<tr>
<td><span class=”required”>*</span> <?php echo $entry_country; ?></td>
<td><select name=”country_id” onchange=”$( ‘select[name=\'zone_id\']‘ ).load(‘index.php?route=total/shipping/zone&country_id=’ + this.value + ‘&zone_id=<?php echo $zone_id; ?>’);”>
<option value=””><?php echo $text_select; ?></option>
<?php foreach ($countries as $country) { ?>
<?php if ($country['country_id'] == $country_id) { ?>
<option value=”<?php echo $country['country_id']; ?>” selected=”selected”><?php echo $country['name']; ?></option>
<?php } else { ?>
<option value=”<?php echo $country['country_id']; ?>”><?php echo $country['name']; ?></option>
<?php } ?>
<?php } ?>
</select></td>
</tr>
<tr>
<td><span class=”required”>*</span> <?php echo $entry_zone; ?></td>
<td><select name=”zone_id”>
</select></td>
</tr>
<tr>
<td><span id="postcode-required" class="required">*</span> <?php echo $entry_postcode; ?></td>
<td><input type="text" name="postcode" value="<?php echo $postcode; ?>" /></td>
</tr>
</table>
<input type="button" value="<?php echo $button_quote; ?>" id="button-quote" class="button" />
</div>
Apaguei também, logo depois de: <?php if ($coupon_status || $voucher_status || $reward_status || $shipping_status) { ?>, o seguinte:
<?php if ($shipping_status) { ?>
<tr class="highlight">
<td><?php if ($next == 'shipping') { ?>
<input type="radio" name="next" value="shipping" id="shipping_estimate" checked="checked" />
<?php } else { ?>
<input type="radio" name="next" value="shipping" id="shipping_estimate" />
<?php } ?></td>
<td><label for="shipping_estimate"><?php echo $text_shipping_estimate; ?></label></td>
</tr>
<?php } ?>
Adicionei, logo antes da linha <?php if ($coupon_status || $voucher_status || $reward_status || $shipping_status) { ?>, o seguinte:
<div id="shipping" class="content" style="display >
<table>
<input type="hidden" id="country_id" name="country_id" value="30" >
<input type="hidden" id="zone_id" name="zone_id" value="464" >
<td><span id="postcode-required" class="required">*</span> <?php echo $entry_postcode; ?></td>
<td><input type="text" name="postcode" value="<?php echo $postcode; ?>" /></td>
<br />
<td><input type="button" value="<?php echo $button_quote; ?>" id="button-quote" class="button" /></td>
</table>
<br />
<br />
</div>
Depois Modifiquei a parte abaixo, trocando "select" por "input":
</script>
<?php if ($shipping_status) { ?>
<script type="text/javascript"><!--
$('#button-quote').live('click', function() {
$.ajax({
url: 'index.php?route=checkout/cart/quote',
type: 'post',
data: 'country_id=' + $('input[name=\'country_id\']').val() + '&zone_id=' + $('input[name=\'zone_id\']').val() + '&postcode=' + encodeURIComponent($('input[name=\'postcode\']').val()),
Muito Obrigado pela atenção!
Rafael





