Jump to content

[PNE] Erro pós PagarNaEntrega


Recommended Posts

Boa noite, estou com um problema visual no módulo Pagar Na entrega, mais conhecido como 'cashondelivery' ou 'pne'. Após o cliente selecionar o método, ele toma um break(pagina branca) mas no painel, a compra está normal e funcionando. O endereço fica em cashondelivery/validation.

Fuçando o modulo encontrei um documento que aparenta resolver meu caso, mas não conheço os parametros e variáveis do módulo/finalização do pedido.

Alguma alma conhece o módulo e sabe que alterações ou variaveis posso alterar?
/modules/cashondelivery/controllers/front/validation.php:

class CashondeliveryValidationModuleFrontController extends ModuleFrontController
{
	public $ssl = true;

	public function postProcess()
	{
		if ($this->context->cart->id_customer == 0 || $this->context->cart->id_address_delivery == 0 || $this->context->cart->id_address_invoice == 0 || !$this->module->active)
			Tools::redirectLink(__PS_BASE_URI__.'order.php?step=1');

		// Verificar se esta opção de pagamento ainda está disponível quando o cliente mudar de endereço antes do fim do processo de compra
		$authorized = false;
		foreach (Module::getPaymentModules() as $module)
			if ($module['name'] == 'cashondelivery')
			{
				$authorized = true;
				break;
			}
		if (!$authorized)
			die(Tools::displayError('Este método de pagamento não está disponível para esta transportadora.'));

		$customer = new Customer($this->context->cart->id_customer);
		if (!Validate::isLoadedObject($customer))
			Tools::redirectLink(__PS_BASE_URI__.'order.php?step=1');

		if (Tools::getValue('confirm'))
		{
			$customer = new Customer((int)$this->context->cart->id_customer);
			$total = $this->context->cart->getOrderTotal(true, Cart::BOTH);
			$this->module->validateOrder((int)$this->context->cart->id, Configuration::get('PS_OS_PREPARATION'), $total, $this->module->displayName, null, array(), null, false, $customer->secure_key);
			Tools::redirectLink(__PS_BASE_URI__.'order-confirmation.php?key='.$customer->secure_key.'&id_cart='.(int)$this->context->cart->id.'&id_module='.(int)$this->module->id.'&id_order='.(int)$this->module->currentOrder);
		}
	}

	/**
	 * @see FrontController::initContent()
	 */
	public function initContent()
	{
		$this->display_column_left = false;
		parent::initContent();

		$this->context->smarty->assign(array(
			'total' => $this->context->cart->getOrderTotal(true, Cart::BOTH),
			'this_path' => $this->module->getPathUri(),
			'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
		));

		$this->setTemplate('validation.tpl');
	}
}

Alguma alma sabe que alterações ou variaveis posso alterar?

Edited by vitorcoelho (see edit history)
Link to comment
Share on other sites

Nao altere código diretamente.  ;)  Faca através de overrides, pois quando for fazer um upgrade, as suas adaptacoes sao deletadas.

 

Neste casp abra um novo ficheiro em /classes/ chamado cart.php e altere o que quizer.

 

Overrides: http://doc.prestashop.com/display/PS15/Overriding+default+behaviors

Edited by cd2500 (see edit history)
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...