2017-02-06 4 views
1

Я бы хотел добавить фиксированный налог в размере 2 евро за заказ на существующий сайт prestashop. Я уже добавлял его на каждый шаг, который делает клиент, до последнего шага, в котором я не могу:Добавить фиксированный налог на предварительный заказ

Файл, который я хочу изменить, это «modules/bankwire/views/templates/hook/payment_return.tpl», в котором у меня есть эта строка:

{l s='Amount' mod='bankwire'}: <span class="price"><strong>{$total_to_pay}</strong> 

Если изменить предыдущую строку на:

{l s='Amount' mod='bankwire'}: <span class="price"><strong>{$total_to_pay+2}</strong> 

мой последний отображается цена округляется и не появляется символ € (например, если моя общая цена 54.50 € , когда я добавляю к нему 2 евро, он становится 56, а не 56,50 €)

Как я могу управлять им?

Благодаря

+0

Изменение шаблонов только не принесет вам пользы. Когда клиент отправляет заказ, налог не рассчитывается на заказ. – TheDrot

ответ

1

$total_to_pay является отформатирован цена ("56,90 €" вместо "56,90"), определенный в модуле bankwire:

public function hookPaymentReturn($params) 
{ 
    if (!$this->active) 
     return; 

    $state = $params['objOrder']->getCurrentState(); 
    if (in_array($state, array(Configuration::get('PS_OS_BANKWIRE'), Configuration::get('PS_OS_OUTOFSTOCK'), Configuration::get('PS_OS_OUTOFSTOCK_UNPAID')))) 
    { 
     $this->smarty->assign(array(
      'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false), 
      'bankwireDetails' => Tools::nl2br($this->details), 
      'bankwireAddress' => Tools::nl2br($this->address), 
      'bankwireOwner' => $this->owner, 
      'status' => 'ok', 
      'id_order' => $params['objOrder']->id 
     )); 
     if (isset($params['objOrder']->reference) && !empty($params['objOrder']->reference)) 
      $this->smarty->assign('reference', $params['objOrder']->reference); 
    } 
    else 
     $this->smarty->assign('status', 'failed'); 
    return $this->display(__FILE__, 'payment_return.tpl'); 
} 

Вы можете получить цену, как это с помощью объект заказа:

{displayPrice price=$objOrder->getOrdersTotalPaid()} 
Смежные вопросы