Como exibir o preço em todas as moedas na página do produto OpenCart?

Objetivos do blog

Depois de ler este blog, poderemos exibir o preço em todas as moedas na página do produto do OpenCart 3.x

Problema Declaração

Por padrão, o OpenCart 3.x exibe o preço do produto na moeda definida como padrão ou escolhido pelo usuário final. E para exibir o preço em todas as moedas disponíveis, haverá poucas alterações nos arquivos padrão ou principais do OpenCart. (Caso você não queira alterar os arquivos principais, isso pode ser feito através do VqMod ou OcMod).

Exigência

Precisamos modificar os arquivos abaixo mencionados para mostrar o preço do produto em todas as moedas disponíveis na página do produto.

Procedimento para resolver o problema

Siga os passos mencionados abaixo – Abra product.php em Catalog / Controller / Product e procure por

$ results = $ this-> model_catalog_product-> getProductImages ($ this-> request-> get ['product_id']);

2. E adicione a seguinte declaração depois disso –

$ currencies = $ this-> model_localisation_currency-> getCurrencies ();

3. Novamente, encontre o seguinte trecho de código no mesmo arquivo –

if ($ this-> customer-> isLogged () ||! $ this-> config-> get ('config_customer_price')) {$ dados ['preço'] = $ this-> moeda-> formato ($ this- > tax-> calcule ($ product_info ['price'], $ product_info ['tax_class_id'], $ this-> config-> get ('config_tax')), $ this-> sessão-> dados ['moeda'] ); } else {$ data ['price'] = falso; }

4. E substitua-o por –

$ data ['price'] = array (); if ($ this-> customer-> isLogged () ||! $ this-> config-> get ('config_customer_price')) {foreach ($ moedas como $ currency) {if ($ currency ['status']) { $ data ['price'] [] = $ this-> moeda-> formato ($ this-> tax-> calcula ($ product_info ['price'], $ product_info ['tax_class_id'], $ this-> config- > get ('config_tax')), $ currency ['código']); }}}

5. Abra o product.twig em catalog / view / theme / default / template / product e procure por

<h2> {{price}} </ h2>

5. E substitua-o por –

{% de currency_price no preço%} <h2> {{currency_price}} </ h2> {% endfor%}

Então, limpe todos os Caches (ocmod cache, twig cache, vqmod cache). Consulte a imagem abaixo depois de aplicar as alterações no código –

preços dos produtos em todas as moedas

Resumo

Após seguir o procedimento acima, você poderá exibir o preço em todas as moedas disponíveis na Página do produto.


Instalação e Configuração do Xdebug – Parte 1

Introdução

Este documento contém etapas para instalar o Xdebug e configurá-lo com o Netbeans.

Etapas para instalar o Xdebug e configurá-lo com o NetBeans

Para instalar o Xdebug e configurá-lo com o NetBeans, os passos são dados abaixo –

1. Instale o Xdebug para PHP executando o seguinte comando no ambiente Linux

sudo apt-get instala o php5-xdebug

2. Configurar o Xdebug.ini para Linux

sudo vi /etc/php5/apache2/conf.d/20-xdebug.ini

Adicione as seguintes linhas –

xdebug.profiler_output_dir=/tmp
xdebug.profiler_output_name=cachegrind.out.%p
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=0

3. Reinicie o Apache

sudo service apache2 reiniciar

4. Agora, configure o Netbeans seguindo as etapas abaixo e mostradas na captura de tela –

  • Vá para Ferramentas -> Opções -> PHP -> Depuração
  • Definir porta de depuração: 9001
  • Prima o botão OK e, em seguida, inicie a depuração do projecto por CTRL + F5 ou ficheiro por CTRL + SHIFT + F5

Vídeo tutorial:

Parece útil? Além disso, leia a outra parte do artigo para obter informações completas e detalhadas:

Instalação e Configuração do Xdebug – Parte 2


Instalação e configuração do Xdebug usando o NetBeans – parte 2

Introdução

Este documento é sobre a instalação do Xdebug e configurá-lo com o NetBeans no Windows.

Como depurar através do Xdebug em um projeto?

Para depurar através do Xdebug, você precisa configurar o projeto no NetBeans. Configure o projeto do sistema Blog no NetBeans. Depois de configurar o projeto no NetBeans, selecione o projeto para o qual você deseja depurar. Agora, vá para o menu Arquivo na barra de menu superior.

Em seguida, clique em propriedades do projeto.

Depois de clicar sobre isso, um pop-up será aberto, onde você terá que selecionar a guia Run Configuration.

Depois de clicar sobre isso, um pop-up será aberto, onde você terá que selecionar a guia Run Configuration. Então você pode ver o botão Avançado lá. Clique nele e selecione a opção "Não abra a Web

Agora clique no depurador para iniciar a depuração. Por favor, veja na imagem. E antes disso você tem que abrir o projeto no navegador: Por exemplo: http: // localhost: 8080 / blogs / blogs.php? XDEBUG_SESSION_START = netbeans-xdebug Nota: A parte destacada no URL acima é o id da sessão xdebug. Você tem que passá-lo na página que você deseja depurar.

Você pode ver o Xdebug em execução abaixo da barra de notificação do NetBeans no instantâneo abaixo:

Então você tem que adicionar um ponto de interrupção no arquivo de código. O código irá parar nesse ponto e você poderá verificar os valores. Você pode rastrear o código clicando em F7 no NetBeans. Você pode verificar o valor das variáveis ​​dinâmicas passando o mouse sobre as variáveis. Você também pode adicionar a variável na lista de observação.

Até que você não complete ou alcance a última linha para o código que você está depurando, no navegador, ele irá parar. Apenas mostrou o carregamento. Depois de concluir a depuração ou fechar a sessão de depuração, ela chegará à página (no navegador) que você está abrindo.

Assista ao tutorial completo no seguinte vídeo:

Parece útil? Além disso, leia a outra parte do artigo para obter informações completas e detalhadas:

Instalação e Configuração do Xdebug


Como calcular o frete grátis com base no preço total final no Prestashop?

Depois de ler este blog, poderemos calcular o Frete Grátis com base no Preço Total final do Carrinho.

Problema Declaração

Atualmente, quando adicionamos produtos ao carrinho e passamos para a seção de checkout para aproveitar o desconto e o frete, vemos que o desconto se aplica após o envio. Digamos,

  • O valor total do carrinho é de US $ 100, com frete grátis e um desconto de 5% também é adicionado
  • Então, depois que o valor total do desconto do carrinho for definido abaixo de US $ 100, mas ainda assim, o frete grátis se aplica, o que não deve acontecer. O Frete Grátis deve ser aplicado ao valor Total Final do carrinho após o desconto.
  • Este é o processo padrão do Prestashop. Consulte a captura de tela abaixo, onde o frete deve ser gratuito se o total do pedido for > 50, mas tiver aplicado frete grátis enquanto o total do pedido for < 50 após o desconto –

Recomendado Read: Estratégias de frete grátis: por que oferecer? Como oferecer? Quando oferecer?

Por que o problema atual está lá?

O problema atual existe porque o valor do frete está sendo calculado no valor total do pedido que é definido no carrinho antes de aplicar o desconto. Você pode verificar as linhas de código abaixo onde o Total do pedido sem valor de desconto está sendo usado para calcular o frete –

$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);

Exigência

Precisamos modificar o arquivo abaixo mencionado para corrigir o mesmo. Iremos substituir as linhas correspondentes do arquivo de classe para evitar quaisquer alterações nos arquivos Core.

Abaixo está a lista de arquivos de classe que serão substituídos

1. Diretório raiz\classes\Cart.PHP

Procedimento para resolver o problema-

Siga as etapas abaixo mencionadas –

1. Função de reescrita�getPacoteCusto de Envio

2. Após a linha abaixo –

// Total do pedido na moeda padrão sem taxas $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, $product_list);

3. Adicione a seguinte declaração –

$listeDiscounts = $this->getCartRules(); $total_discounts = 0; if (is_array($listeDiscounts)) { if (isset($listeDiscounts[0]['value_real'])) $total_discounts = $listeDiscounts[0]['value_real']; } $price_to_apply_shipment = floatval($order_total) - floatval($total_discounts); Leitura recomendada: Melhor extensão do gerenciador de frete grátis para a loja OpenCart

4. Substitua as linhas mencionadas abaixo –

Substitua esta linha

$check_delivery_price_by_price = Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $total_order, (int)$id_zone, (int)$this->id_currency);

Com

$check_delivery_price_by_price = Transportadora::checkDeliveryPriceByPrice($row['id_carrier'], $price_to_apply_shipment, (int)$id_zone, (int)$this->id_currency);

————E—————–

Substitua esta linha

$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);

Com

$shipping_cost += $carrier->getDeliveryPriceByPrice($price_to_apply_shipment, $id_zone, (int)$this->id_currency);

5. Limpe o cache e execute.

Consulte a captura de tela abaixo após aplicar as alterações no código –

Após seguir o procedimento acima, você poderá calcular o Frete no valor total final do carrinho.

Conclusão

Quando se trata de compras online, toda a estrutura de preços desempenha um papel crucial para os clientes. Um dos fatores que podem fazer ou quebrar suas conversões é a disponibilidade de frete grátis. Um método para determinar as opções de envio e os custos em um site de comércio eletrônico é o Frete grátis Manager Addon da Knowband. Um dos requisitos mais importantes para aumentar as vendas médias é proporcionar abertura na transação.

As lojas que usaram esse módulo de frete grátis aumentaram o tráfego do site, a receita e as taxas de conversão. Com a ajuda deste plugin de frete grátis, os administradores da loja podem definir as diretrizes e condições para os custos de frete. Melhor ainda, esse recurso pode ser adicionado ou removido do site pelo administrador da loja.

O limite sobre o qual o frete grátis é oferecido pode ser definido pelos varejistas online. Como resultado, ele ainda incentiva os clientes a fazer compras maiores para se qualificarem para o frete grátis. Para saber mais sobre a funcionalidade do Módulo Frete Grátis, sinta-se à vontade para nos contatar em support@knowband.com