Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v1.x.
Avatar do usuário
Por guisiani
#8317
Olá galera.

Eu preciso identificar algumas variáveis e tenho muita dificuldade com isso... estou apenas fazendo calculos diferentes nas formas de pagamento, porém não acho a variável das Taxas (Frete e etc) que é somado com o Subtotal na página de Confirmação...

Os arquivos que estou editando é de um boleto.php, porém eu procuro a variável em confirm.php mas as que tem lá ($taxes por exp) não serve. Qual a maneira que eu posso identificar as variáveis no Opencart?
Avatar do usuário
Por Manoel Vidal
Mensagens Curtidas
#8343
Nos módulos de pagamento que faço carrego estas informações dentro dos arquivos do próprio módulo e não do confirm.php. No caso você precisar chamar ou instanciar as funções que carregam estas informações para poder utilizá-las em seus módulos.

Para carregar o valor do frete:
Código: Selecionar todos
	$this->data['frete_total'] = 0; // Início uma variável com o nome frete_total
	$this->data['frete_metodo'] = ''; // Início uma variável com o nome frete_metodo
	if ($this->cart->hasShipping()) {
		$this->data['frete_total'] = $this->session->data['shipping_method']['cost']; // atribuo o valor do frete a variável
		$this->data['frete_metodo'] = $this->session->data['shipping_method']['title']; // atribuo o nome do frete a variável
	}
Para carregar os descontos e taxas:
Código: Selecionar todos
	$total = 0;
	$total_data = array();
	$taxas = $this->cart->getTaxes();
	$this->load->model('checkout/extension');
	$sort_order = array();
	$results = $this->model_checkout_extension->getExtensions('total');
	foreach ($results as $key => $value) {
		$sort_order[$key] = $this->config->get($value['key'] . '_sort_order');
	}
	array_multisort($sort_order, SORT_ASC, $results);
	$discount_total = 0;
	foreach ($results as $result) {
		$this->load->model('total/' . $result['key']);
		$old_total = $total;
		$this->{'model_total_' . $result['key']}->getTotal($total_data, $total, $taxas);

		if ($total < $old_total) {
			$discount_total += $old_total - $total;
		}
	}
	$this->data['desconto_total'] = $discount_total;
Espero ter ajudado :D
Avatar do usuário
Por guisiani
#10195
Manoel, muito obrigado pela ajuda!

Porém eu fiz de uma maneira um pouco diferente.
Eu criei e editei algumas variáveis direto no arquivo dos controles de cada página que eu precisei mostrar o valor do desconto.

por exp:

controller/product/product.php
Código: Selecionar todos
$price = $this->product['price'];
$desconto = $price / 6;
E depois puxei a variável do desconto na página do produto. Deu certo, só não sei se foi mais trabalhoso dessa forma que eu fiz.

Abraços!
Avatar do usuário
Por Manoel Vidal
Mensagens Curtidas
#10207
Que bom que resolveu e obrigado por compartilhar a solução, pois poderá ajudar a outros colegas que passarem pelo mesmo problema. :D
Avatar do usuário
Por wiener
#16900
Pessoal, estou precisando puxar uma variável para desconto que coloquei no módulo transferência bancária...

no admin eu consegui colocar o campo e o valor do desconto grava certinho....o problema é mostrar ele na finalização do pedido

para fazer o desconto no pedido...

ALGUÉM TEM COMO ME MOSTRAR COMO FAZER?

valeu
Avatar do usuário
Por Renato Frota
Mensagens
#16909
em catalog/controller/payment/seumodulo.php inclua:
Código: Selecionar todos
$this->data['nome-da-config'] = $this->config->get(nome-da-config); 
nome-da-config é o nome que você usou no campo da admin que salva o dado

depois usa a variável $nome-da-config no arquivo .tpl onde quer exibir o dado.
Avatar do usuário
Por wiener
#16919
Renato fiz o que me passou mas não funcionou...

posso daí exibir em qualquer arquivo .tpl?

aguardo...
Avatar do usuário
Por Renato Frota
Mensagens
#16939
Só vai funcionar no .tpl que esse arquivo controller carrega.

Observa os outros módulos de pagamento como funcionam. Eles dão algun(s) load nos tpl e um render no final.
Avatar do usuário
Por wiener
#17023
Bom dia Renato...

eu tenho uma variavel que aparece no latest.tpl e nos detalhes do produto...

preciso carregar esta variável na página das buscas e também na finalização do pedido para exibir o preço parcelado na tela...

já tentei mas não consegui exibir...sabe o melhor caminho que eu poderia fazer?
Avatar do usuário
Por wiener
#17324
Ou talvez uma forma de chamar o campo [parcelas] preenchido na administração dos produtos, pois é onde estou cadastrando a quantidade de parcelas para cada produto.

preciso urgente descobrir pois preciso colocar a loja no ar o quanto antes...

abraço...quem puder ajudar...valeu