Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v1.x.
#22316
O título é bem sugestivo né!

Pois é, no meu caso que estou montando uma loja para venda de jóias isso seria uma mão na roda, pois imagina 300 produtos diferentes e ter que atualizar preço de cada um deles manualmente de acordo com a variação do Ouro. Quando eu terminar o último o preço do ouro já subiu denovo.
Pesquisei bastante e não achei nada que pudesse ajudar, mas recentemente comecei a pensar em uma forma que precisa ser amadurecida e aprimorada, por isso estou aqui descrevendo o que consegui até o presente momento e solicitando ajuda para a conclusão da ideia e já fica como dica para os que pretendem fazer da mesma forma que eu.

Minha primeira tentativa foi através do imposto, só que o mesmo só tinha a opção de porcentagem ou taxa fixa o que não deu certo pois imagine que eu tenha uma peça que tenha o peso de 5 gramas e o ouro trabalhando tenha o valor de 200 reais o grama o que daria um valor final de R$1000,00 reais com porcentagem poderia até chegar perto mas nunca no valor exato.

Foi ai que pensei na moeda. Como ela influencia a loja toda e tem seu valor multiplicado, criei uma moeda que se chama Ouro deixei ela sem simbolo e defini como padrão para a loja. Posteriormente criei a moeda real e atribui ela com valor 200 o que me retornou exatamente o que precisava.

Ai vcs me perguntam... vc ja achou a solução pra vc... o que vc ta perguntando aqui então???

É... eu achei metade da solução, falta uma outra metade.

O que preciso agora eh fazer com que a loja selecione automaticamente a moeda real, pois eu já ocultei o seletor de moeda do cabeçalho da loja e só me falta isso pra ficar completa a solução...

Acredito eu na minha ignorancia que vou ter que alterar o arquivo currency.tpl que esta em catalog\view\theme\SEU TEMA\template\module só ainda não sei como mas se puderem me ajudar gostaria muito...

desde já agradeço a colaboração de todos! ;)

ps: Versão 1.5.3.1 da OpenCart
#22434
Vidal ou alguem que entenda bem do codigo da OC me respondam por favor se eu alterar a seguinte função:
Código: Selecionar todos
  	public function set($currency) {
    	$this->code = $currency;

    	if (!isset($this->session->data['currency']) || ($this->session->data['currency'] != $currency)) {
      		$this->session->data['currency'] = $currency;
    	}

    	if (!isset($this->request->cookie['currency']) || ($this->request->cookie['currency'] != $currency)) {
	  		setcookie('currency', $currency, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
    	}
  	}
do arquivo currency.php que esta localizado em \system\library\ para:
Código: Selecionar todos
  	public function set($currency) {
    	$this->code = "BRL"
  	}
eu estou obrigando a loja a trabalhar com a moeda Real?
#22435
alsricardo escreveu:Vidal ou alguem que entenda bem do codigo da OC me respondam por favor se eu alterar a seguinte função:
Código: Selecionar todos
  	public function set($currency) {
    	$this->code = $currency;

    	if (!isset($this->session->data['currency']) || ($this->session->data['currency'] != $currency)) {
      		$this->session->data['currency'] = $currency;
    	}

    	if (!isset($this->request->cookie['currency']) || ($this->request->cookie['currency'] != $currency)) {
	  		setcookie('currency', $currency, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
    	}
  	}
do arquivo currency.php que esta localizado em \system\library\ para:
Código: Selecionar todos
  	public function set($currency) {
    	$this->code = "BRL"
  	}
eu estou obrigando a loja a trabalhar com a moeda Real?
não vai está obrigando não, o código acima (1º) serve para armazenar a informação de qual moeda o usuário optou por usar para que no próximo acesso o usuário não tenha que ficar escolhendo a moeda novamente.
#22456
Obrigado Valdeir2000 pela resposta, continuarei minha procura... não manjo nada de php mas a logica me ajuda um pouco... quero trabalhar com uma moeda padrão mas fazer a loja na parte de front-end selecionar outra por padrão....
#22469
Pessoal, corrigam-me se estiver errado!!!

Fiz a seguinte alteração no arquivo currency.php que esta localizado em \system\library\:

Na função __construct da linha 32 à linha 35 temos o seguinte código
Código: Selecionar todos
    	} else {
      		$this->set($this->config->get('config_currency'));
    	}
  	}
inclui na linha 35 o seguinte codigo:
Código: Selecionar todos
		$this->set('BRL');
ficando assim:
Código: Selecionar todos
    	} else {
      		$this->set($this->config->get('config_currency'));
    	}
		$this->set('BRL');
  	}
com isso estou fazendo a OC trabalhar com a moeda Real assim que a loja é aberta independente de cookie ou seleção.

Depois abri o arquivo header.tpl que se encontra em \catalog\view\theme\SEU TEMA\template\common e apaguei a linha seguinte:
Código: Selecionar todos
  <?php echo $currency; ?>
com isso tirei da parte superior da loja no front-end a opção de selecionar moeda

isso tudo para poder trabalhar usando a moeda como gerador de preço de custo para loja!

Explico:

Criei uma moeda que posso chamar de "custo" sem simbolo sem nada... defini a mesma como padrão o que faz o seu valor ser igual a 1.000000 criei a moeda real com seu codigo, simbolo e tudo mais, porem o valor no meu caso foi 200.000000 pois queria fazer o valor da moeda custo vezes 200 para poder ter o meu valor final
#24484
brunobad,

realmente sua informação não é errada, mas analise comigo.... eu quero justamente mudar o valor da moeda e ter todos os produtos com seus preços alterados automaticamente, acontece que se eu definir uma moeda como padrão e criar outra para ser o multiplo a moeda que por padrão vai aparecer na loja será a que contem os fatores de multiplicação e não o valor que quero...

Ex:
Moeda 1 - fator de custo (moeda que armazenara o custo do produto)
Moeda 2 - Real (tera um valor que multiplicado pela moeda 1 da o preço de venda do produto)

não quero que o cliente veja o custo e quero que a moeda que apareca pra ele não seja a moeda padrão da loja que neste caso eh a moeda 1 portanto usando as alterações sujeridas por mim acima, vc consegue justamente isso
na area administrativa vc tem preços de custo e no front end preços de venda para os clientes