Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para módulos, formas de pagamentos e formas de envio para OpenCart v1.x.
#46127
Olá, alguém saberia me dizer por favor se existe um módulo que insira a uma imagem "Frete Grátis" para os produtos que atingirem o valor definido por área restrita?

Exemplo: Na área restrita defino o valor de R$ 400,00 para o frete grátis geral do sistema. Os produtos acima deste valor mostrariam frete grátis como na imagem abaixo:
Imagem

Caso não exista um módulo, alguém sabe como fazer isso?

A lógica seria comparar o $product['price'] com o free_total : Se o $product['price'] for maior que "number_format($row["value"],2,',','.')" então exiba: FRETE GRÁTIS. O problema é fazer isso.

O vilson569 gentilmente cedeu o código abaixo para mostrar o frete grátis conforme o valor em qualquer página que ele for inserido, talvez se baseando nele saísse alguma coisa.
Código: Selecionar todos
    <?php
      $query = mysql_query("SELECT value FROM `oc_setting` WHERE `key` = 'free_status' and `value` = 1"); // verifica se frete grátis está ativado
      if($query){
        $query = mysql_query("SELECT value FROM `oc_setting` WHERE `key` = 'free_total'"); // pega o valor mínimo
        while ($row = mysql_fetch_assoc($query)) {
            echo "<div>Frete Grátis nas compras acima de R$ ". number_format($row["value"],2,',','.')."</div>";
        }
      }
    ?>
Agradeço a atenção.
Editado pela última vez por linktraba em 19 Nov 2013, 13:07, em um total de 1 vez.
#46139
Deixei assim o código no vqmod:
Código: Selecionar todos
<modification>

	<id>Features</id>
	<version>Frete Grátis</version>
	<vqmver></vqmver>
	<author></author>

  <file name="catalog/view/theme/*/template/module/featured.tpl">
	  <operation>
            <search position="after"><![CDATA[
                <div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
            ]]></search>
            <add><![CDATA[
		
<?php
$newPrice = str_replace(',', '.', preg_replace('/0-9,/', '', $product['price']));
if ($newPrice >= 100)
echo 'Frete Grátis';
 ?>		
]]>
</add>
     </operation>
	</file>

</modification>
Não está acontecendo nada, não aparece mensagem nenhuma.

Teria como incluir o $product['special']) na comparação também?

Agradeço mais uma vez pela atenção.
#46141
Código: Selecionar todos
$priceProduct = !empty($product['special']) ? $product['special'] : $product['price'];
$newPrice = str_replace(',', '.', preg_replace('/[^0-9,]/', '', $priceProduct));
if ($newPrice >= 100)
echo 'Frete Grátis';
#46208
Olá, segue o arquivo .xml Vqmod para o Features, deixei a imagem acima do botão comprar, ficou melhor, para as outras páginas ainda não tive tempo de fazer:
Código: Selecionar todos
<modification>

	<id>Features</id>
	<version>Frete Grátis</version>
	<vqmver></vqmver>
	<author></author>

<file name="catalog/view/theme/*/template/module/featured.tpl">
<operation>
            <search position="before"><![CDATA[
 <div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
            ]]></search>
<add><![CDATA[	
<?php
$priceProduct = !empty($product['special']) ? $product['special'] : $product['price'];
$newPrice = str_replace(',', '.', preg_replace('/[^0-9,]/', '', $priceProduct));
if ($newPrice >= 300)
echo '<img src=image/data/fg.jpg border=0>';
?>			
]]>
</add>
</operation>
</file>
</modification>
Ficaria melhor ainda se alguém conseguisse unir os dois códigos para não precisar mexer no Vqmod manualmente, seria tudo definido por área restrita.
Código: Selecionar todos
    <?php
      $query = mysql_query("SELECT value FROM `oc_setting` WHERE `key` = 'free_status' and `value` = 1"); // verifica se frete grátis está ativado
      if(mysql_num_rows($query) > 0){
        $query = mysql_query("SELECT value FROM `oc_setting` WHERE `key` = 'free_total'"); // pega o valor mínimo
        while ($row = mysql_fetch_assoc($query)) {
            if(!$row["value"] == 0){
              echo "<div>Frete Grátis nas compras acima de R$ ". number_format($row["value"],2,',','.')."</div>";
            }
        }
      }
    ?>
#46213
linktraba escreveu:Olá, segue o arquivo .xml Vqmod para o Features, deixei a imagem acima do botão comprar, ficou melhor, para as outras páginas ainda não tive tempo de fazer:
Código: Selecionar todos
<modification>

	<id>Features</id>
	<version>Frete Grátis</version>
	<vqmver></vqmver>
	<author></author>

<file name="catalog/view/theme/*/template/module/featured.tpl">
<operation>
            <search position="before"><![CDATA[
 <div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
            ]]></search>
<add><![CDATA[	
<?php
$priceProduct = !empty($product['special']) ? $product['special'] : $product['price'];
$newPrice = str_replace(',', '.', preg_replace('/[^0-9,]/', '', $priceProduct));
if ($newPrice >= 300)
echo '<img src=image/data/fg.jpg border=0>';
?>			
]]>
</add>
</operation>
</file>
</modification>
Ficaria melhor ainda se alguém conseguisse unir os dois códigos para não precisar mexer no Vqmod manualmente, seria tudo definido por área restrita.
Código: Selecionar todos
    <?php
      $query = mysql_query("SELECT value FROM `oc_setting` WHERE `key` = 'free_status' and `value` = 1"); // verifica se frete grátis está ativado
      if(mysql_num_rows($query) > 0){
        $query = mysql_query("SELECT value FROM `oc_setting` WHERE `key` = 'free_total'"); // pega o valor mínimo
        while ($row = mysql_fetch_assoc($query)) {
            if(!$row["value"] == 0){
              echo "<div>Frete Grátis nas compras acima de R$ ". number_format($row["value"],2,',','.')."</div>";
            }
        }
      }
    ?>
O segundo código deve ser colocado onde?