Hej,
musisz sprawdzić czy $shipvalue == 0
interesują Cię dwie funkcję w pliku cashondeliverywithfee.php:
getCost [linia 159] i getCostValidated [linia 182] - obydwie zwracają wartość $fee
wystarczy że na początku każdej z nich sprawdzisz warunek czy wartość dostawy jest zero
[$shipvalue == 0] i w przypadku gdy jest zwrócisz $fee = 0,
więc w linii 159 zmieniasz to:
function getCost($params)
{
na:
function getCost($params)
{
$shipvalue = floatval($params['cart']->getOrderTotal(true, 5));
if ($shipvalue == 0) $fee = 0;
return floatval($fee);
a w linii 182 zmieniasz to:
function getCost($params)
{
na:
function getCostValidated($params)
{
$shipvalue = floatval($cart->getOrderTotal(true, 5));
if ($shipvalue == 0) $fee = 0;
return floatval($fee);
te zmiany powinny spowodować że niezależnie od wybranej metody naliczania dodatkowej opłaty [czy to %kwoty czy +kwota] jeżeli wartość dostawy będzie zero, dodatkowa opłata związana z płatnością przy odbiorze też będzie zero,
proszę o info jeżeli powyższe rozwiązanie nie zadziałało,
już niedługo postaram się opisać rozwiązanie doliczające wybraną kwotę dodatkową w zależności od wybranego typu dostawy np.:
- poczta: 12,- to płatność przy odbiorze +5,-
- kurier: 25,- to płatność przy odbiorze +7,-
oraz naliczanie wielokrotności danej kwoty w zależności od sumy zamówienia np.:
kwota: 4,- przy rozpoczęciu każdego 1000,-
czyli suma 1500,- = dodatkowa oplata za płatność przy odbiorze = 4,-
suma 3000,- = dodatkowa oplata za płatność przy odbiorze = 12,-
i jeszcze sposób na wyświetlanie dodatkowej opłaty związanej z płatnością przy odbiorze w module: blockcart i w kroku potwierdzania zamówienia,
proszę jeszcze o chwile cierpliwości,