Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SMARTY + jQuery
ilkar
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


W jaki sposób można używać jquery albo wogole ajax'u w templatach SMARTY?

Chodzi mi o to, ze mam template index.tpl, w ktorej mam np:

<div class="test">
{$tekst}
</div>

co mam napisać, aby ajax wrzucil mi w {$tekst} jakies informacje

$response->assign("tekst", "abcd");
$response->display("index.tpl");

bo to co napisalem powyzej jako przyklad nie dziala...

wyskakuje mi blad typu Fatal error</b>: Call to a member function assign() on a non-object in .... on line <b>..</b>
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
aby ajax wrzucil mi w {$tekst} jakies informacje
Ajax w $text?

jQuery to lib js i nie ma nic wspolnego z twoim kodem w php. js nie wrzuci ci nic do zmiennej php. Jak chcesz cos wrzucic do diva to musisz zrobci to np. tak
Kod
jQuery('.test').html('cos do diva');


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
heracles
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.11.2008

Ostrzeżenie: (0%)
-----


wyskakuje mi blad typu Fatal error</b>: Call to a member function assign() on a non-object in .... on line <b>..</b>
[/quote]

mozna przerzucac do html`a elementy jquery, np jak masz w headerze wpisana funkcje jquery itp.

Problem Twoj jest to, ze nie masz zabarzdo dobrze dzialajacej klasy $response-> Problem twoj jest tutaj.

sprawdz obsluge smarka
Go to the top of the page
+Quote Post
ilkar
post
Post #4





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


moj js dziala dobrze, w naglowku mam dodane funkcje, ktora poprawnie wpisują mi wszystko do wyznaczonego diva, problem jest w tym, ze nie wiem co dac w responsie z php'a do ktorego przesylane są dane z formularza, aby ten wrzucił mi informacje do szablonu.

mam plik index.php odnoszący sie do szablonu index.tpl. Oba pliki tworzą formularz.

Po zaakceptowaniu formularza informacje z inputow są przesylane za pomocą jquery do pliku php, ktory sprawdza poprawnosc wpisanych informacji i daje odpowiedz. Jeżeli formularz jest blednie wypelniony, to chce wyswietlic jakies informacje korzystając juz z szablonu ktory istnieje, czyli index.tpl.

pytanie jest co mam wpisac w php sprawdzajacym dane, aby za pomoca ajaxa mi cos wyswietlil w templacie.
Go to the top of the page
+Quote Post
sannin
post
Post #5





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


O ile dobrze rozumiem to możesz w request podać zmienne np. za pomocą GET
Go to the top of the page
+Quote Post
heracles
post
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 6.11.2008

Ostrzeżenie: (0%)
-----


a wiec korzystasz z jQuery validatora. Sprawa nie jest trudna. Element jQuery odpowiedzialna za ten element jest typu:


rules -> username: {
required: skrypt_sprawdzajacy.php,
minlength: 2
},
messages-> username: {
required: "{$zle.required}",
minlength: "{$zle.minlength}"
},

calosc sie znajduje w dokumencie html`a wiec do templata naglowka poslij co chcesz
$clasaSmarta->assign(zle, array(
'requred' => 'istnieje juz taki user',
'minlenth' => 'za malo znakow'));
Go to the top of the page
+Quote Post
ilkar
post
Post #7





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 20.08.2007

Ostrzeżenie: (0%)
-----


Mam taki kod:

$correct_first_name = new correct();
$correct = $correct_first_name->correct_string($first_name);
$register2->assign("first_name", $correct);
$register2->display('register.tpl');

klasa correct zawiera funkcje sprawdzające rozne rzeczy
funkcja correct_string sluzy do sprawdzania, czy login jest ok
odpowiedz chcialbym wstrzyknac do miejsca oznaczonego w szablonie smartow jako $first_name
i wszystko byloby ok, gdyby nie fakt, iż robiąc to w taki sposob jak powyżej szablon wpisuje się w szablon, czyli mam szablon utworzony za pierwszym razem, a w nim po akcji ajaxa zostaje wpisany ponownie ten sam szablon, masz moze pomysł jak to obejść?

a może macie jakies tutoriale dotyczące korzystania z ajax'a w smartach?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:43