![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 30.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam pole SELECT w którym są kategorie. Chcę zrobić tak, żeby po wybraniu którejś (bez klikania - onChange) w div'ie poniżej wyświetlała się lista produktów. Zrobiłem coś takiego (pracuję na SMARTY i korzystam z jQuery oraz script.aculo.us)
katalog.tpl funkcja wysyłająca ID wybranej kategorii
action.php
nie wiem dlaczego tablica $products_list nie jest przekazywana do szablonu :/ funkcja na pewno wchodzi do pętli if($_POST['id']!='') w pliku action.php bo to sprawdzałem. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
uu.. no tak kolego nie da rady...
spróbuj tak: katalog.tpl javascript (dla kolorania użyłem php):
action.php, dodajemy nazwe templatki na koncu do wyswietlenia;:
no i na końcu trza stworzyć nowy plik products_list.tpl, do którego przekazujesz tablicę ze smarty (do już załadowanego templata się po prostu nie da):
dopiero Tak Ci to zadziała |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 30.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
a nie wystarczyłoby po prostu dać
$smarty->display('katalog.tpl'); zeby zaladowac ten sam templat? tylko ze cos mi nie dziala to.. nie wierze zeby nie bylo latwiejszego sposobu.. AJAX'em na pewno sie to da jakos :/ Ten post edytował wicc 14.01.2008, 15:10:31 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
a nie wystarczyłoby po prostu dać $smarty->display('katalog.tpl'); nie da rady, ponieważ w takim przypadku załaduję Ci całą stronę jeszcze raz do wskazanego miejsca. Czyli powstanie coś na wzór fraktala... nie wierze zeby nie bylo latwiejszego sposobu.. AJAX'em na pewno sie to da jakos :/ .. no w moim przykładzie korzystam z ajaxa i w sumie uważam sposób za prosty Pozdrawiam |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 30.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem Twoją metodą ale coś nie gra... z tego co dałem radę sprawdzić to do funkcji na pewno dociera ID kategorii, funkcja "widzi" diva PLIST, do pliku action.php wchodzi ID, zapytanie do bazy jest dobre, niestety zawartość dodatkowego templata lista.tpl nie jest importowana do diva :/
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
był błąd (parser) w skrypcie, zabrakło } na końcu, wypróbuj:
Kod function getCos(){ var cat = sel.options[sel.selectedIndex].value; new Ajax.Request("test.html", { method: "post", parameters: { id : "cat" }, onSuccess: function(obj){ $("plist").innerHTML = obj.responseText; } }); } ... u siebie sprawdziłem i zadziałało. Pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 22:21 |