Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
Por tedros
#64838
Galera,

Estou com o seguinte problema, quero cadastrar o valor dos meu produtos em dólar e quero que apareça para o cliente em Real, se possível com a cotação atualizada, como devo proceder? pois ja tentei varias formas, mas nada de funcionar.

Abraço
Avatar do usuário
Por valdeir2000
Mensagens Especiais
#64847
Acho que vai ate ajudar.

Configuração
1 - Cadastre as duas moedas em System > Localisation > Currencies;
2 - Acesse System > Settings > Aba Local;
3 - Na opção Currency selecione a moeda Us Dollar;
4 - No campo abaixo (Auto Update Currency) selecione a opção yes;

Código
1 - Abra o arquivo index.php e localize o código
Código: Selecionar todos
$registry->set('currency', new Currency($registry));
e abaixo dele adicione
Código: Selecionar todos
$registry->get('currency')->set("BRL"); //Adicione o código da moeda.
*2 - Abra o arquivo catalog/controller/common/currency.php e abaixo do código
Código: Selecionar todos
public function index() {
adicione
Código: Selecionar todos
return false;
* Este passo é opcional, ele irá servi basicamente para esconder a opção que o usuário tem de trocar de uma moeda para outra na frente da loja.
Por tedros
#64851
Muito obrigado pela ajuda Valdeir.

Fiz o que voce disse, mas ele só transformou o $ em R$, os valores nao mudaram.

Em configurações -> Dados Auxiliares -> Moedas = Tenho as duas moedas, mas Dollar está como padrão certo?
O Real está com valor: 1.00000000
O Dollar está com valor: 4.25010014

Depois editei a loja e fui na aba localização e botei o Dollar como padrão e botei em "Sim" para atualizar a moeda.

Depois fiz as alterações no código que voce informou.
Por tomporoskipy
#64877
tedros escreveu:Po, valeu kra,

ta funcionando 100%

Abraçoo
Olá pergunto o modulo correio esta funcionando "certo" não esta multiplicando também o valor do frete?
Avatar do usuário
Por valdeir2000
Mensagens Especiais
#64883
tomporoskipy escreveu:
tedros escreveu:Po, valeu kra,

ta funcionando 100%

Abraçoo
aqui de R$ 16,00 passa pra 66,00 atualizando a moeda..
É normal pois ele está convertendo todas as moedas, mas segue uma correção (que por sinal é um pouco trabalhosa).

Let's Go.

1. Abra o arquivo catalog/model/shipping/correios.php
2. Substitua
Código: Selecionar todos
$this->quote_data[$codigo]['text'] = $this->currency->format($this->tax->calculate($new_cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')));
por
Código: Selecionar todos
$this->quote_data[$codigo]['text'] = $this->currency->format($this->tax->calculate($new_cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')), "BRL", 1);
2. Substitua
Código: Selecionar todos
$this->quote_data[$codigo]['text'] = $this->currency->format($this->tax->calculate($new_cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')), $this->session->data['currency']);
por
Código: Selecionar todos
$this->quote_data[$codigo]['text'] = $this->currency->format($this->tax->calculate($new_cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')), $this->session->data['currency'], 1);
3. Substitua
Código: Selecionar todos
$text = $this->currency->format($this->tax->calculate($cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')));
por
Código: Selecionar todos
$text = $this->currency->format($this->tax->calculate($cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')), "BRL", 1);
4. Substitua
Código: Selecionar todos
$text = $this->currency->format($this->tax->calculate($cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')), $this->session->data['currency']);
por
Código: Selecionar todos
$text = $this->currency->format($this->tax->calculate($cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')), $this->session->data['currency'], 1);
5. Substitua
Código: Selecionar todos
$total += $this->currency->format($this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax')), '', '', false);
por
Código: Selecionar todos
$total += $this->currency->format($this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax')), 'BRL', 1, false);
6. Substitua
Código: Selecionar todos
$total += $this->currency->format($this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency'], '', false);
por
Código: Selecionar todos
$total += $this->currency->format($this->tax->calculate($product['total'], $product['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency'], 1, false);
Agora é só fazer o teste.

Como não tenho o módulo instalado, apenas baixei e abrir tem testar, espero que possam dá um feedback para quem tiver interesse em fazer também.
Por tomporoskipy
#64892
Na versao 2.1.0.2 tudo normal modulo curreios Versão 4.3. já na versão 2.0.3.1 mesmo atualizando o modulo curreios para a Versão 4.3 continua aumentando o valor do frete. vou fazer as alterações sugeridas. e dou retorno. Muito Obrigado