wdrożenia PrestaShop

smarty a kod afilacyjny

  • 15 Odpowiedzi
  • 10379 Wyświetleń

0 użytkowników i 2 Gości przegląda ten wątek.

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
smarty a kod afilacyjny
« dnia: Styczeń 03, 2014, 06:49:53 pm »
Witam w zwiazku z współpracą z firmą zewnętrzną potrzebuje ze strony potwierdzenia zamówienienia w formie linku iframe przesłać im dane typu id_order oraz sume za zamówienie.
Niestety nie dziala ta opcja której używałem w presta 1.3 - wowczas użyłem sobie 

{php}


global $order;
#var_dump($order);
{/php}

<iframe src="http://...................pl/id_offer=2&adv_sub={$id_order}&amount={php}echo $order->total_paid{/php}" scrolling="no" [size=78%]frameborder="0" width="1" height="1"></iframe>[/size]
[/size][size=78%]Niestety nie dziala mi to w 1.5 czy podpowiecie jak wyciągnąć ze smartów dane ?  [/size]
[/size]Moze pogrzebać z {$HOOK_ORDER_CONFIRMATION}[size=78%]
[/size][size=78%]?? [/size]
[/size][size=78%]z góry dziekuje ....[/size]

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,291
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 1.7
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #1 dnia: Styczeń 04, 2014, 11:28:47 am »
Zobacz zmienne - variables wrzuciłem na tym forum
http://prestashopforum.pl/index.php?topic=11383.0
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
Odp: smarty a kod afilacyjny
« Odpowiedź #2 dnia: Styczeń 06, 2014, 02:47:03 pm »
dziękuje z tym że zmienne mniej wiecej znam juz ale jak ją wyswietlić w miejscu potrzebnym ( w pliku tpl ) ?


*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #3 dnia: Styczeń 06, 2014, 06:27:07 pm »
wyswietlasz {$zmienna} i tutaj pytanie, jaka zmienna chcesz uzyskac.

w twojej linijce linka masz blednie 'amount={php}echo $order->total_paid{/php}' a powinno to wygladac amount={$order->total_paid}" pod warunkiem, ze masz zwrocona globalnie (cache) ta zmienna koszyka. co masz w zmiennych cache mozesz w prosty sposob sprawdzic dump-ujac dana zmienna
design4VIP z innej strony...

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
Odp: smarty a kod afilacyjny
« Odpowiedź #4 dnia: Styczeń 06, 2014, 07:44:17 pm »
Kude juz mi głupio
aff_l?offer_id=100&adv_sub={$idOrder}


Zmiennej nie zwrócilo, rozumie ze nie ma wywałania globalnej ...
Co moge dać wczesniej aby zwórciło tą zmienną ?




*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,291
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 1.7
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #5 dnia: Styczeń 06, 2014, 10:22:37 pm »
A w ktorym miejscu chcesz dokładnie wyświetlić tą zmienną Jeśli po akceptacji zamówienia [potwierdzeniu płatności] to sprintf=$id_order lub sprintf=$reference musi zadziałać
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
Odp: smarty a kod afilacyjny
« Odpowiedź #6 dnia: Styczeń 07, 2014, 01:55:21 pm »
staram się go wyświetlić w pliku order_confirmation.tpl dodanie {$idOrder} nie zwróciło nic

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #7 dnia: Styczeń 07, 2014, 02:11:18 pm »
sprawdz {$order->id} lub {$order.id} ewentualnie mzoesz dodac '|intval'
design4VIP z innej strony...

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
Odp: smarty a kod afilacyjny
« Odpowiedź #8 dnia: Styczeń 07, 2014, 04:29:48 pm »
kurcze, coś prostego ale robie błednie :(
W przypadku edycji pliku order-confirmation.tpl dodałem sobie fragent iframe oraz w miejscu gdzie potrzebuje wygenerować w linku nr id zamówienia dalem {$order.id} oraz testowałem z {$order->id} i niestety pusto , nie wyswietla wartości.
ale nie mam w pliku nigdzie teraz tej czesci :
{php}
global $order;
#var_dump($order);
{/php}
poniewaz dodanie samego {php}{/php} wywala mi strne :(


*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #9 dnia: Styczeń 08, 2014, 09:19:55 am »
ale po jest smarty i jego zmienne zeby tego uzywac, na cholere uparles sie tego PHP....

skad i po co ta zmianna do 'global'? raz niepotrzebnie, dwa to nie to miejsce, takie rzaczy ustawia sie w kontrolerach, i tam owszem, uzywa sie PHP, raczej trzymaj sie tej zasady, zeby TYLKO tam go uzywac, a przynajniej nie w plikach szablonu TPL. zmienne w smarty dumpujesz przez {$zmienna|var_dump}
design4VIP z innej strony...

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
Odp: smarty a kod afilacyjny
« Odpowiedź #10 dnia: Styczeń 08, 2014, 07:36:32 pm »

hmm,

dałem dumpa w miejscu wspomnianym i dostałem zwrotkę NULL w tym miejscu :(


Może ja coś robie nie w tym miejscu albo nie w ten sposób...

Czy muszę ją dumpowac ? skoro nic mi wspomniane formy nie wyświetlają mi, może coś te dane blokuje ? Proszę podpowiedz mi jeszcze raz co wrzucić aby zwróciło mi potrzebne zmienne z koszyka ( kwota i id zamowienia)


Ja kurde nie wiem co jest grane ...

« Ostatnia zmiana: Styczeń 08, 2014, 07:55:32 pm wysłana przez sliw »

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #11 dnia: Styczeń 08, 2014, 08:19:14 pm »
w pierwszej kolejnsoci sprawdz co zwraca zmeinna 'order' czyli {$order|var_dump} jezlei masz NULL to czyli, ze jest pusta wiec sprawdz co masz w cache w analogiczny sposob. jezlei 'order' zwroci tablice to sprawdz w ktorym miejscu (tagu) masz potrzebne dane i je dodaj do zmiennej jak opisuwalem wyzej, najprawdopodobniej bedzie to $order.id oraz dla kwoty $order.total jak dobrze pamietam

sorka, ale nie mam za bardzo czasu zeby samemu sprawdzic co i jak zwraca, musisz sie bawic sam.
design4VIP z innej strony...

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
Odp: smarty a kod afilacyjny
« Odpowiedź #12 dnia: Styczeń 08, 2014, 10:05:20 pm »
i tu własnie problem
{$order|var_dump} {$cashe|var_dump}
obie zwracają null.........:(

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #13 dnia: Styczeń 09, 2014, 09:41:12 am »
po pierwsze nie 'cashe' tylko ' cache', po drugie to nie jest zmienna

jezlei chodzi o same zmienne, ktore zwraca bezposrednio kontroler to masz:
                'id_order' => $this->id_order,
                'reference_order' => $this->reference,
                'id_order_formatted' => sprintf('#%06d', $this->id_order),
                'email' => $this->context->customer->email

czyli za wiele bez modyfikacji kontrolera nie zdzialasz. wiele potrzebnych wartosci mozna by tez wyciagnac z $cart, ale ten przy conformacji jest czyszcony, co jest oczywiste. najprosciej to wrzuc sobie w overide rozszerzenie kontrola orderConfirmation dla funkcji initContent() i dodaj potrzebne zmienne.


albo prosciej, i w sumie tak jak powinno sie to poprawnie zrobic: utworz nowy modul, ktory bedzie zawieral potrzebne dane (w kontlorerze o wiele szybciej je wyciagniesz ze zmiennych globalnych) i automatycznie wysylal tego linka. taki modul umiesc w hook 'displayOrderConfirmation' i masz wszystko zalatwione.
design4VIP z innej strony...

*

Offline sliw

  • Użytkownik
  • **
  • 28
  • 0
Odp: smarty a kod afilacyjny
« Odpowiedź #14 dnia: Styczeń 13, 2014, 10:21:46 pm »
udalo mi sie to rozwiązac w sposób następujący,
Utworzyłem w kontrolerze dwie nowe zmienne smarty kwota i zamowienie, przypisałem im odpowiednio 'zamowienie' => $this->id_order, oraz 'kwota'=>$params['total_to_pay'] ( w innej funcji ) i zostaly one przeniesione do koniecznego mi miejsca  nie wiem czy to prawidłowe do końca ale narazie dziala

Podziekowania dla deejay3

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: smarty a kod afilacyjny
« Odpowiedź #15 dnia: Styczeń 15, 2014, 09:28:06 am »
nie potrzebnie wprowadzales "zamowienie" bo to samo masz juz w zmiennej "id_order", niepotrzebnie odycztuje dwa razy dokladnie to samo. druga, jezeli dziala to czyli, z jest dobrze ;)
design4VIP z innej strony...