Closed willsco closed 5 years ago
Olá Gambozo, Estava com este mesmo problema, centenas de saídas em meu log, troquei este arquivo por um modelo antigo deste módulo, por hora resolveu. Ainda estou testando para ver se prejudicou outras funções, eu estou com problema com este módulo, muito lento, não está puxando o valor do frete com rapidez e os meios de pagamento estão ora são disponibilizados, ora não são. Eu creio que a última atualização do módulo não foi feliz.
Eu não tenho conhecimento técnico para analisar os arquivos,
Veja a integra do arquivo Fee.php
`<?php class MOIP_Transparente_Model_Sales_Quote_Address_Total_Fee extends Mage_Sales_Model_Quote_Address_Total_Abstract{
public function __construct()
{
$this->setCode('fee_moip');
}
public function getLabel()
{
return Mage::helper('transparente')->__('Juros de parcelamento');
}
public function collect(Mage_Sales_Model_Quote_Address $address)
{
parent::collect($address);
$items = $this->_getAddressItems($address);
if (!count($items)) {
return $this;
}
$amount = 'fee_moip';
if ($amount) {
$this->_addAmount($amount);
$this->_addBaseAmount($amount);
}
return $this;
}
public function fetch(Mage_Sales_Model_Quote_Address $address)
{
$amt = $address->getFeeMoip();
$baseamt = $address->getBaseFeeMoip();
if($amt != 0){
$address->addTotal(array(
'code'=>$this->getCode(),
'title'=>$this->getLabel(),
'value'=> $amt
));
}
return $this;
}
}`
@claudiobiato Meu conhecimento técnico é mínimo também. Só não restauro o arquivo para uma versão anterior por saber que o arquivo foi alterado para atender "Novo recurso desconto no pagamento à vista em cartão". Como não uso esse recurso em nenhuma loja, mudei a variável $amount na linha 45 para $amt, porém não sei se é a variável correta - considerei o "if" inicial. Dessa forma até resolve. Até remover o "elseif{}" inteiro resolve, mas não é o correto. Preciso dar uma olhada nessas funções:
$amt = $address->getFeeMoip();
$baseamt = $address->getBaseFeeMoip();
Só assim pra saber qual a variável certa usar. Vou dar uma olhada hoje de noite.
@Gambozo
Arquivo corrigido por favor verifique.
Olá! Vi saídas no system.log relacionadas ao arquivo Fee.php https://github.com/elisei/moip-transparente-magento/blob/master/app/code/local/MOIP/Transparente/Model/Sales/Quote/Address/Total/Fee.php `2019-03-18T19:04:08+00:00 ERR (3): Notice: Undefined variable: amount in public_html/app/code/local/MOIP/Transparente/Model/Sales/Quote/Address/Total/Fee.php on line 45
2019-03-18T19:04:08+00:00 ERR (3): Notice: Undefined variable: amount in public_html/app/code/local/MOIP/Transparente/Model/Sales/Quote/Address/Total/Fee.php on line 45
2019-03-18T19:04:19+00:00 ERR (3): Notice: Undefined variable: amount in public_html/app/code/local/MOIP/Transparente/Model/Sales/Quote/Address/Total/Fee.php on line 45
2019-03-18T19:04:19+00:00 ERR (3): Notice: Undefined variable: amount in public_html/app/code/local/MOIP/Transparente/Model/Sales/Quote/Address/Total/Fee.php on line 45`
Fui olhar o trecho de código, na linha 45, e fiquei curioso.
Desculpe a ignorância, mas no "elseif()", a variável não seria "$amt" ou "$baseamt" por conta da $amount não estar declarada na função? É correto alterar a variável na linha 45, de $amount para $amt ou $baseamt?