Fórum OpenCart Brasil

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

#911
Hmm, compreendo manolo!

x)

Creio que para fazer igual apenas fazendo a junção do modulo do pac/sedex 2.1 com o calculo de Frete no carrinho, porém deve ser dificil, nao tenho nem ideia.

Porém mesmo com issos, Acho um OTIMO modulo, tesao pra kct, uma baita ponte no abismo. ^^

x)
#914
eu entendo que vai ter essa diferença...
uq eu quero dizer, eh que NÃO pode ficar essa diferença entre o valor no carrinho e valor que sair logo na proxima página que eh o valor que vai sair pro pagseguro certo?

pq essa sua modificação não adciona o valor do frete na conta final neh? ele so mostra o valor no carrinho...

entende? que fica estranho a loja mostrar valores diferentes? os valores do carrinho e do sedex pac 1.2.1 tinha que ser iguais!

hj to sem tempo, mais quando eu puder, vou ver o sistema do calculo do "pac/sedex 1.2.1" e ver o meu tbm, vou comparar ao coreios e ver qual ta mais certo, e tenta corrigir para q os 2 fika um valor só
#942
Amigos desenvolvedores..

Estive tentando integrar porém não consegui.

Eu peguei os arquivos pac.php e sedex.php do módulo pac_sedex_2.1 no qual encontram-se em /model.

Copiei para o frete_carinho.php as funções calcula_pac e calcula_sedex. As funções retornaram valor 0,00.

Não sei se o erro está na função ou no código, mas fiquei com dúvidas. O CEP deve ser passado sem o "-" ou com? Precisa formatar o peso e o valor?

Fico no aguardo de ajudas! hehehe!

valeu
#944
comprasnaweb escreveu:Muito bom. fui o criador do tópico anterior.

Eu estava vendo. Podíamos fazer uma rotina para buscar nos produtos do carrinho o produto de maior dimensao e utilizar para os correios.
pra busca o tamanho de cada produto separado do carrinho eu consigui, mais pra pega o valor maior, isso que ta quebrando minha cabeça

comprasnaweb escreveu:Amigos desenvolvedores..

Estive tentando integrar porém não consegui.

Eu peguei os arquivos pac.php e sedex.php do módulo pac_sedex_2.1 no qual encontram-se em /model.

Copiei para o frete_carinho.php as funções calcula_pac e calcula_sedex. As funções retornaram valor 0,00.

Não sei se o erro está na função ou no código, mas fiquei com dúvidas. O CEP deve ser passado sem o "-" ou com? Precisa formatar o peso e o valor?

Fico no aguardo de ajudas! hehehe!

valeu
não entendi mto bem o que vc fez, vc copiou o modelo do "modulo sedex/pac" e colocou no arquivo pra calcular no carrinho, mais nao tem proposito isso q vc fez, pq cada um é uma função diferente

cep pod ter hifen ou nao, o site do correios ignora essa infomação
#945
maxno escreveu:
eu entendo que vai ter essa diferença...
uq eu quero dizer, eh que NÃO pode ficar essa diferença entre o valor no carrinho e valor que sair logo na proxima página que eh o valor que vai sair pro pagseguro certo?

pq essa sua modificação não adciona o valor do frete na conta final neh? ele so mostra o valor no carrinho...

entende? que fica estranho a loja mostrar valores diferentes? os valores do carrinho e do sedex pac 1.2.1 tinha que ser iguais!

hj to sem tempo, mais quando eu puder, vou ver o sistema do calculo do "pac/sedex 1.2.1" e ver o meu tbm, vou comparar ao coreios e ver qual ta mais certo, e tenta corrigir para q os 2 fika um valor só
issu seria o ideal
#1029
comprasnaweb escreveu:eu tentei ao inves de usar o calculo de uma funcao para o carrinho e uma do modulo pac sedex, eu queria usar o pac sedex pra tudo, colocando tambem o calculo no carrinho.

em resumo é isso.
Eu também queria assim... USAR o calculo do módulo Sedex Pac 1.2.1 nessa cálculo do frete no Carrinho de Compras...
#1098
Maxno, vê se tem como você dar uma olhada nisso, eu estava olhando o código do cálculo do módulo sedex&pac 1.2.1, e eu descobrir que o cálculo pelo módulo é feito no site do PAGSEGURO, tem como você adaptar nesse seu código, eu não sei fazer esse tipo de coisa, abaixo segue o código:
<?php

class PgsFrete
{
private $_use = 'curl';
private $_debug = false;
private $_methods = array('curl');
private $_result;

public function PgsFrete()
{
if ($this->debug()) {
echo "\nPgsFrete started!";
}
}

public function debug($debug=null)
{
if (null===$debug) {
return $this->_debug;
}
$this->_debug = (bool) $debug;
}

public function setUse($useMethod)
{
if ('string'!==gettype($useMethod)) {
throw new Exception('Method for setUse not allowed.'.
'Method passed: '.var_export($useMethod, true));
}
$useMethod = strtolower($useMethod);
if (!in_array($useMethod, $this->_methods)) {
throw new Exception('Method for setUse not allowed.'.
'Method passed: '.var_export($useMethod, true));
}
$this->_use = $useMethod;
if ($this->debug()) {
echo "\nMethod changed to ".strtoupper($useMethod);
}
}

public function getUse()
{
return $this->_use;
}

public function request($url, $post=null)
{
$method = $this->getUse();
if (in_array($method, $this->_methods)) {
$method_name = '_request'.ucWords($method);
if (!method_exists($this, $method_name)) {
throw new Exception("Method $method_name does not exists.");
}
if ($this->debug()) {
echo "\nTrying to get '$url' using ".strtoupper($method);
}
return call_user_func(array($this, $method_name), $url, $post);
} else {
throw new Exception('Method not seted.');
}
}

private function _requestCurl($url, $post=null)
{
$parse = parse_url($url);
$ch = curl_init();
if ('https'===$parse['scheme']) {
// Nao verificar certificado
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
curl_setopt($ch, CURLOPT_URL, $url); // Retornar o resultado
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Retornar o resultado
if ($post) {
curl_setopt($ch, CURLOPT_POST, true); // Ativa o modo POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Insere os POSTs
}
$result = curl_exec($ch);
curl_close($ch);
$this->_result = $result;
}

public function gerar($CepOrigem, $Peso, $Valor, $Destino)
{
$url = "https://pagseguro.uol.com.br/CalculaFrete.aspx";
$this->request($url."?CepOrigem={$CepOrigem}&Peso={$Peso}&Valor={$Valor}");
$result = $this->_result;
$pos = strpos($result, '<form name="Form1" method="post"');
$result = substr($result, $pos);
$pos = strpos($result, '</form>');
$result = substr($result, 0, $pos+8);

preg_match('@(name="__VIEWSTATE".+value="([^"]+)")@', $result, $matches);
$post = array(
'__VIEWSTATE' => $matches[2],
'txtValor' => $Valor,
'txtCepDestino' => $Destino,
'btnCalcular' => 'Calcular'
);
$this->request($url, $post);
$resultado = $this->_result;
$resultado = preg_replace('/[\n\r\s]+/', ' ', $resultado);
if(stristr($resultado,'Não foi possível calcular o valor do frete.'))
{
return 'erro1';
}else {
preg_match('@(Sedex).+>R\$ ([\d,]+)<.+(PAC).+>R\$ ([\d,]+)<@', $resultado, $matches);
$return = array(
$matches[1] => $matches[2],
$matches[3] => $matches[4]
);
return $return;
}
}
}
Pelo o que eu vi, tem que mudar bem o seu código né? Pois você preparo ele para atuar de outra forma, mas eu sou completamente avulso no assunto, eu entendo muito pouco!

Abraços!
#1099
@NathanMuniz

não é bem assim, eu vi direito o code, e nao eh pelo pagseguro que calcula,

o frete.php ainda nao descobrir pq ainda existe, talvez ele calcula pelo pagseguro se o correios estiver offline, nao sei

mais o calculo do modulo de envio, são feito no modelo "model"

aqui catalog\model\shipping

e é feito pelo correios


to meio com preguisa de tenta ajeitar os 2, pq ando o dia arrumando minha loja e outros afazeres '-'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 9

Ola @felipesujf Se você extrai os arquiv[…]

extensção -> Módulos

Voltou ao normal sozinho

Olá Uso o OpenCart 2 e tenho algumas d&uac[…]

Night games. One night, no worries Real Women P[…]