Jump to content

Własny kod PHP na stronie produktu


badyllek1993

Recommended Posts

Witam serdecznie.

 

Chciałbym na stronie produktu umieścić własny kod PHP.

Próbowałem już umieścić w pliku

- /controllers/front/ProductController.php

oraz

- /themes/default/product.tpl

 

i mam problem z działaniem zwykłego <?php echo 'abc'; ?>

 

Czy znajduje się jakiś inny plik, w którym bez problemu umieszczę swój kod?

 

Pozdrawiam i czekam na odpowiedź,

badyllek1993

Link to comment
Share on other sites

w plikach .tpl nie da się już korzystać z kodu php (w smarty jest to technicznie możliwe ale ta funkcjonalność została w prestashop wyłączona)

 

to co pozostaje to modyfikacja ProductController.php

 

funkcja: initContent();

 

wewnątrz tej funkcji możesz umieścić własny kod php.

  • Like 1
Link to comment
Share on other sites

Okej, w zasadzie działa, ale wygenerowaną treść wyświetla w lewym górnym rogu ekranu.

 

Mnie interesuje, żeby całość wepchnąć gdzieś przy ilości dostępnych sztuk produktów. Ponieważ kod będzie dość złożony, ciężko będzie każdej zmiennej przypisać indentyfikator i umieścić w product.tpl. Jak to najlepiej ugryźć? Czy nie prościej będzie ustawić plik produktu .php i .tpl i w określonym miejscu includować mój plik z PHP?

 

Pozdrawiam i dzięki za szybką odpowiedź :)

Link to comment
Share on other sites

jeżeli chcesz wygenerować treść i umieścić ją w kodzie strony, musisz wynik Twojego kodu zapisać do zmiennej. następnie tą zmienną przekazać do tablicy smarty (wszystko robimy w funkcji initContent() w ProductController)

 

dla przykładu:

 

$wynik="oto wynik mojej funkcji php";

$this->context->smarty->assign(array('moj_wynik_z_php' => $wynik));

 

następnie w pliku product.tpl w dowolnym miejscu możesz korzystać ze zmiennej: {$moj_wynik_z_php} która wyświetli zawartość zmiennej $wynik - w tym przypadku pojawi się tekst "oto wynik mojej funkcji php"

 

nie wiem czy wystarczająco jasno wytłumaczyłem ;D

Link to comment
Share on other sites

Dobrze kolega wytłumaczył. Wdrożyłem i działa.

 

Mam jeszcze jedno pytanie. Czy przy aktualizacji systemu PrestaShop niektóre linie w kodzie które dodałem nie zostaną usunięte? Czyli, czy dodanie własnego kodu PHP, w sposób jaki kolega podał, jest odporny na aktualizacje Presty?

Link to comment
Share on other sites

  • 3 weeks later...

Kolego vekia,

 

z poprzednim problemem sobie poradziłem, ale teraz stoję na innym.

 

Mianowicie na stronie produktu mam dodatkowe pola formularza połączone z akcją "dodaj do koszyka". Nie działa to na ajaxie, po prostu po kliknięciu na "dodaj do koszyka" przenosi na podstronę /order - tak ma być.

 

Nie mniej jednak nie wiem jak odwołać się do dodanych pól na podstronie produktu, aby przerobić je PHP na podstronie /order i dodać do bazy.

 

Próbowałem podpatrzeć jak działa z polem "Ilość", ale nie dałem rady :)

 

Pozdrawiam i dziękuję,

badyllek1993

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...