Jump to content
  • 0

Jak użyć PHP w TPL?


PrestaCheff

Question

Słuchajcie dość podstawowa sprawa, ale nigdzie nie mogę tego znaleźć opisanego od podstaw.
Mam kod PHP który szczytuje pewne dane z MySQL. Co zrobić aby wyświetlić te dane w TPL np. product-line w koszyku?

Wiem, że coś z tym smarty trzeba. Przyznam szczerze że zupełnie nie wiem co to jest i jak się do tego zabrać. Znalazłem poradniki jak wstawić zmienną {$zmienna} i znalazłem że robi się to przez smarty assign. Tylko gdzie ja mam użyć tego smarty assign? Jak tego użyć? Jak przemycić jakąś zmienną do szablonu? W sieci widzę dyskusje w których pojawiają się sformułowania typu stwórz funkcję w kontrollerze ale nie rozumiem jak to zrobić w praktyce.

Próbowałem przykładowo w pliku ProductController.php(PS 1.6) dać mój kod w initContent() i wynik wstawić w formie

$this->context->smarty->assign([
            'my_var' => 'test'
        ]);

Ale w TPL shopping-cart-product-line.tpl 


		{$my_var}

nic nie zmienia. Dacie jakieś wskazówki jak nie wiedząc o tym nic, zrozumieć jak to działa? Pewnie jak się to zrozumie to jest banalne, tylko nie mogę nigdzie znaleźć informacji od A do Z. Mam wrażenie że PrestaShop jest ciężka dla nowego programisty pod kątem jakiś jasnych materiałów szkoleniowych 😕 Pomóżcie przemycić kilka zmiennych tylko. Całe "backend" swojego kodu już mam tylko jego wynik muszę wrzucić do TPL. Może to być prowizorka, bo to tylko dla mojego sklepu.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Najlepszym rozwiązaniem jest przekazywanie danych poprzez moduł a nie natywne kontrolery, czyli tworzysz sobie moduł w nim hook który wywołuje templatkę  w tym hooku przekazujesz dane do smarty i w samej templatce je tylko obsługujesz czyli wyświetlasz.

Jeśli chcesz coś wyświetlić w module koszyka to dodaj tam dane które chcesz przekazać.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...