Skocz do zawartości


Zdjęcie

Moduł płatność przelewem (bankwire)


  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 10 grudzień 2016 - 19:48

Witam 

 

Chciałbym wyświetlić kwotę bez końcówki zł aby były same liczby. W module znalazłem odpowiedni fragment kodu ale nie mogę tego odpowiednio sformatować. Może ktoś już edytował w taki sposób moduł i może pomóc ? 

 

Kod który trzeba sformatować : 

 

'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false),



#2 ircykk

ircykk

    Administrator

  • Administrators
  • 5031 postów
  • PrestaShop:1.5, 1.6

Napisano 10 grudzień 2016 - 20:07

'total_to_pay' => $params['total_to_pay'],


#3 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 10 grudzień 2016 - 22:43

Jest to rozwiązanie ale gdy zapiszę w ten sposób dostaję wynik np. 100.000 a potrzebuje najlepiej bez przecinka jeśli nie ma takiej potrzebny. 

 

Natomiast gdy zapiszę tak : 

{convertPrice price=$total_to_pay/4.3}

To automatycznie znacznik waluty wraca :/ kwota się przelicza ale wraca końcówka zł. 



#4 sower

sower

    Guru

  • Moderatorzy
  • 4218 postów
  • Location3miasto
  • PrestaShop:1.2, 1.3, 1.4, 1.5, 1.6

Napisano 11 grudzień 2016 - 10:22

hm a  funkcja round?

 

http://pl.php.net/ma...ction.round.php


468x60.jpg

468x60_pl.gif

 

QUICK PRESTA SUPPORT:  gg 45116037
SKLEPY  MODUŁY INTEGRACJE  POMOC TECHNICZNA


#5 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 11 grudzień 2016 - 12:05

Funkcja round zaokrągli mi wartość a ja bym chciał żeby w tpl pojawiła się kwota bez końcówki "zł"

 

W bankwire.php zapisałem 

 

'total_to_pay' => $params['total_to_pay'],  = dzięki temu otrzymałem wynik : np 120,000 

 

następnie w tpl wpisałem : 

 

{convertPrice price=$total_to_pay/4} i teraz otrzymuje 30 zł a chciałbym otrzymać czystą sumę bez waluty. 



#6 design4VIP

design4VIP

    Zaawansowany

  • Members
  • PipPipPip
  • 344 postów
  • PrestaShop:1.4, 1.5, 1.6

Napisano 11 grudzień 2016 - 12:06

albo fukcja explode dla kropki i wyswietlic tylko pierwsza wartosc tablicy


design4VIP z innej strony...


#7 sower

sower

    Guru

  • Moderatorzy
  • 4218 postów
  • Location3miasto
  • PrestaShop:1.2, 1.3, 1.4, 1.5, 1.6

Napisano 11 grudzień 2016 - 13:52

Funkcja round zaokrągli mi wartość a ja bym chciał żeby w tpl pojawiła się kwota bez końcówki "zł"

 

W bankwire.php zapisałem 

 

'total_to_pay' => $params['total_to_pay'],  = dzięki temu otrzymałem wynik : np 120,000 

 

następnie w tpl wpisałem : 

 

{convertPrice price=$total_to_pay/4} i teraz otrzymuje 30 zł a chciałbym otrzymać czystą sumę bez waluty. 

 

no ale

'total_to_pay' => $params['total_to_pay'],  = dzięki temu otrzymałem wynik : np 120,000

 

wyświetlone w tpl-u

 

wyświetla ci 120

 

czy 120,000

 

w sumie to w pliki php modułu możesz sobie zastosować w generowaniu danych do tpl czyli w

'total_to_pay'  czy to round, czy exclude jak tam ci będzie prościej  dodając do tego ten dzielnik 4

czyli proste równanie matematyczne. którego wynik wyślesz do tpl-a

 

jednak zastanawiam się co chcesz osiągnąć przez

 

{convertPrice price=$total_to_pay/4}

 

to 4 to jakiś przelicznik? np z pln na euro?

 

bo jeżeli tak to chyba nie tedy droga ;)


468x60.jpg

468x60_pl.gif

 

QUICK PRESTA SUPPORT:  gg 45116037
SKLEPY  MODUŁY INTEGRACJE  POMOC TECHNICZNA


#8 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 11 grudzień 2016 - 17:31

Dokładnie dostaje taki wynik : 

 

bankwire.php

'total_to_pay' => $params['total_to_pay'],  

 

tpl : 

 

{total_to_pay} = dzięki temu otrzymałem wynik : np 120,000000 

 

 

{convertPrice price=$total_to_pay/4} = daje mi wynik 30 zł (Tak chciałem to zrobić jako sumę euro 


Próbuję różnych zapisów w bankwire.php ale nic nie działa :/ 

 

'total_to_pay' => $params['total_to_pay'],

'total_to_pay_eur' => explode(' ',$total_to_pay),
print_r($total_to_pay_eur),
 
coś źle robię ale jeszcze sobie po próbuje :) 


#9 sower

sower

    Guru

  • Moderatorzy
  • 4218 postów
  • Location3miasto
  • PrestaShop:1.2, 1.3, 1.4, 1.5, 1.6

Napisano 11 grudzień 2016 - 18:40

to z innej beczki

w jakim celu chcesz taki przelicznik zrobić?

 

tak swoją drogą to w module bankwire masz coś takieg

 

'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false),

 

dla ciebie ważne jest to Tools::displayPrice

 

czyli funkcja displayPrice z klasy Tools

 

gdzie w/w klasie masz

 

public static function displayPrice($price, $currency = null, $no_utf8 = false, Context $context = null)

 

zwróć uwagę na parametr $currency

 

opis w/w funkcji

 

/**
    * Return price with currency sign for a given product
    *
    * @param float $price Product price
    * @param object|array $currency Current currency (object, id_currency, NULL => context currency)
    * @return string Price correctly formated (sign, decimal separator...)
    */

 

 

może pokombinuj z id dla parametru $currency / $params['currencyObj']

 

taka mała podpowiedź ;)


468x60.jpg

468x60_pl.gif

 

QUICK PRESTA SUPPORT:  gg 45116037
SKLEPY  MODUŁY INTEGRACJE  POMOC TECHNICZNA


#10 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 12 grudzień 2016 - 20:01

Chciałbym aby w podsumowaniu zamówienia kwota wyświetlała się w 3 różnych walutach to znaczy w euro, dolarach i złotówkach. Wszystko było by w miarę prostę gdyby nie zostawała końcówka " zł "



#11 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 12 grudzień 2016 - 23:19

Panowie zrobiłem coś takiego : 

'total_to_pay' => $params['total_to_pay'],
'total_to_pay_zl' => Tools::displayPrice(($params['total_to_pay'] * 1), $currency = 1, false),
'total_to_pay_eur' => Tools::displayPrice(($params['total_to_pay'] / 4.5), $currency = 2, false),
'total_to_pay_dol' => Tools::displayPrice(($params['total_to_pay'] / 4.2), $currency = 3, false),

 

Teraz zastanawiam się jak przeliczyć automatycznie sumę według kursu wprowadzonego do systemu Presty. 



#12 sower

sower

    Guru

  • Moderatorzy
  • 4218 postów
  • Location3miasto
  • PrestaShop:1.2, 1.3, 1.4, 1.5, 1.6

Napisano 13 grudzień 2016 - 06:43

ale przecież ja już w poprzednim poście napisałem co trzeba zrobić

 wszystko masz w funkcji

 

public static function displayPrice($price, $currency = null, $no_utf8 = false, Context $context = null)

 

i

'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false),

 

 

$params['currencyObj'] = $currency


468x60.jpg

468x60_pl.gif

 

QUICK PRESTA SUPPORT:  gg 45116037
SKLEPY  MODUŁY INTEGRACJE  POMOC TECHNICZNA


#13 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 13 grudzień 2016 - 21:38

Kurde jeszcze tego tak nie kumam :( próbuje cały czas zobaczymy co z tego wyjdzie. 

 

Dodatkowo jak zmieniam walutę w sklepie na dolary to zamówienie nie idzie dalej, pojawia się komunikat że brak metod płatności. 



#14 petercarter

petercarter

    Użytkownik

  • Members
  • PipPip
  • 41 postów
  • PrestaShop:1.6

Napisano 17 grudzień 2016 - 00:41

Znalazłem opcję wyboru waluty w module bankwire teraz pytanie jak napisać kod aby wyświetlić tekst dla każdej z walut oddzielnie 

 

Jaki piszę w tpl np :  

 

{if  $currency = 2}
Waluta 1 
{else}
Brak waluty 1
{/if}
 
mam cał czas taki sam wynik :/ proszę o jakąś podpowiedź bo zacząłem ze złej strony :/ 


#15 ircykk

ircykk

    Administrator

  • Administrators
  • 5031 postów
  • PrestaShop:1.5, 1.6

Napisano 17 grudzień 2016 - 13:26

{if  $currency == 2}





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych

Hosting zapewnia: Hekko.pl