wdrożenia PrestaShop

podsumowanie zamówienia

  • 6 Odpowiedzi
  • 2179 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline kornolio

  • Stały użytkownik
  • ***
  • 54
  • 0
    • www.krzysztofkossek.pl
podsumowanie zamówienia
« dnia: Październik 15, 2013, 01:19:10 pm »
Hej,
Próbuję zamienić wygląd plików podsumowanie zamówienia - validation.tpl w modułach cashondelivery, payu itpTestuje na module z odbiorem osobistym. Chciałbym, aby nietylko cena się tam wyświetlała, ale również adresy dostawy, faktury i ewentualnie produkty.
Tylko, nie mam pojęcia jak się dostać do tych zmiennych, jedynie co do tej pory zdziałałem to:

{$cart->id} - id koszyka
{$cart->id_address_delivery} - id adresu dostawy
{$cart->id_address_invoice} - id adresu faktury
{$cart->id_customer} - id klienta
[/color]i tyle, ale id mnie nie interesują tylko konkretne wartości, tylko nie wiem jak się do nich dostać
« Ostatnia zmiana: Październik 15, 2013, 01:50:22 pm wysłana przez kornolio »

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: podsumowanie zamówienia
« Odpowiedź #1 dnia: Październik 15, 2013, 01:48:49 pm »
zbadaj sobie w ogole przez {$cart|var_dump} czy masz takie dane zwracane, od razu, jezeli beda takie dane to bedziesz mial rozszerzenie zmiennej.
design4VIP z innej strony...

*

Offline kornolio

  • Stały użytkownik
  • ***
  • 54
  • 0
    • www.krzysztofkossek.pl
Odp: podsumowanie zamówienia
« Odpowiedź #2 dnia: Październik 15, 2013, 02:26:20 pm »
właśnie w tym problem, że nie ma, tzn nie ma w postaci jawnej.
Jest id_address_delivery, ale address->firstname już nie.
jest za to secure_key i podejrzewam, że to jest ściśle związane z adresem. W końcu jakoś się składa zamówienie i zapisuje ten adres, więc musi być przekazywane

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: podsumowanie zamówienia
« Odpowiedź #3 dnia: Październik 16, 2013, 09:42:52 am »
tak teraz patrze na ten modulik, vadilation powinien miec gdzies w parametrach adresy, bo zasadnoczo to on zapisuje wszystkie dane do bazy. tutaj raczej stawialbym na przechowywanie tych miennych w cache, wiec zbadaj sobie co masz w cache i tutaj na pewno znajdziesz.
« Ostatnia zmiana: Październik 16, 2013, 10:02:15 am wysłana przez deejay3 »
design4VIP z innej strony...

*

Offline kornolio

  • Stały użytkownik
  • ***
  • 54
  • 0
    • www.krzysztofkossek.pl
Odp: podsumowanie zamówienia
« Odpowiedź #4 dnia: Październik 16, 2013, 10:08:45 am »
tak, sprawdzałem. Jest sporo zmiennych, ale po za danymi z walidacji, produktów i id nie ma tych komórek tablic, które mnie interesują.
Znalazłem za to temat na czeskiej stronie, który pokazuje jak uzyskać dostęp do nich:
http://linuxoveservery.cz/2011/07/18/prestashop-adresa-a-prehled-zbozi-ve-shrnuti-objednavky-validation-tplvalidation-php/
problem w tym, ze to jest chyba pod 1.4, ponieważ na 1.5.4 to nie śmiga. Ale jakaś podpowiedź już jest, czego brakuje

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: podsumowanie zamówienia
« Odpowiedź #5 dnia: Październik 16, 2013, 10:35:41 am »
podkreslam, ze pisze tak zasadnoczo teoretycznie, bo jeszcze sie takim czyms nie bawilem, zagladam i piuze co o tym mysle ;)

patrzac dalej w modul, jak wpsomniales o walidacji to teraz patrze, masz w validation.php wyciagnieta zmienna $customer. wrzuc ja sobie w tablice i zdumpuj po stronie .tpl, ewentualnei dumpa wrzuc bezposrendnio w php. tutaj powinna byc ta zmienna. wrzuc tez w .php wywalenie bebchow cache, skup sie rpzede wszystkim na zmiennych po stronie $customer
design4VIP z innej strony...

*

Offline kornolio

  • Stały użytkownik
  • ***
  • 54
  • 0
    • www.krzysztofkossek.pl
Odp: podsumowanie zamówienia
« Odpowiedź #6 dnia: Październik 17, 2013, 10:53:54 am »
pokombinowałem i wyszło ;]
w pliku validation.php wystarczy dopisać:

$address = new Address($this->context->cart->id_address_delivery, intval($cookie->id_lang));      
$this->context->smarty->assign('Address', $address);

a w tpl za pomocą wskaźników wypisać poszczególne komórki.
Tak można wyświetlić adres dostawy, sposób dostawy, produkty.
Tylko jeszcze z adresem do faktury nie mogę sobie poradzić, ale większość wyszła na szczęście