Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> XAJAX + SMARTY
mc0314
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.05.2006
Skąd: Szczecin

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


WITAM

O AJAXIE przeczytałem dość niedawno, duzo pracuje w Smarty i chciałbym połączyć nowo poznaną technologie

wyczytalem . coś takiego:
Cytat
"Xajax to jedna z "bibliotek" łączących php z AJAXem. Biblioteki takie można podzielić na dwie grupy - zorientowane pod JavaScript i zorientowane pod php. XAJAX należy do tej drugiej grupy, dzięki czemu ilość kodu Javascript w naszych skryptach będzie minimalna."


za nic w świecie nie moge zrobić nawet najprostrzego przykładu xajax + smarty:(

google przeszukane cale (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Czy uzyskam tu jakąkolwiek pomoc??

a może coś innego nix XAJAX do SMARTY (ale zorientowane pod php)

POZDRAWIAM SERDECZNIE
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jarrod
post
Post #2





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


A jaką otrzymaujesz odpowiedź z serwera?

Pamiętaj że ważna jest kolejność wywoływania metod XAJAX.

Najpier rejestrujesz funkcje:

  1. <?php
  2. $ajax->registerFunction('nazwa_funkcji');
  3. ?>

Jeżeli funkcja nie jest widzialna (tzn tyle samo co gdy funkcja function_exists('nazwa_funkcji') zwróci false) to nie zostanie ona zatejestrowana przez xajax-a.

Gdy zarejestrujesz swoje funkcje czas na metodę:
  1. <?php
  2. $ajax->processRequests();
  3. ?>


Bez niej nic ci się nie uda. Musi być wywołana po zarejestrowaniu funkcji ale przed wysłaniem nagłówków do przeglądarki.

Na końcu należy wydrukować kod js:
  1. <?php
  2. $ajax->printJavascript('sciezka_do_xajaxa/ajax/');
  3. ?>


i umieść go w sekcji HEAD lub BODY strony (w zależności od wybranej deklaracji dokumentu).

Jeżeli ta kolejność będzie inna to nie licz na pozytywny efekt.

a teraz prosty przykład:

  1. <?php
  2. function testAjax($id)
  3. {
  4. $obj = new xajaxResponse();
  5.  
  6. $obj->addAlert('to jest n test xajaxa');
  7. $html = 'testuję ajaxa ;)';
  8. $obj->addAssign($id,'innerHTML',$html);
  9. $obj->addAssign($id,'style.border','1px #c00 solid');
  10. return $obj;
  11. }
  12.  
  13. $ajax = new xajax();
  14. $ajax->registerFunction('testAjax');
  15. $ajax->processRequests();
  16.  
  17. $this->ajax->printJavascript('lib/ajax/');
  18. $initAjax = ob_get_contents();
  19.  
  20.  
  21. $smarty = new Smarty();
  22. $smarty->assign(array(
  23. 'TEXT1' => 'testujemy x-ajaxa',
  24. 'initAjax' => $initAjax
  25. ));
  26.  
  27. $ret= $smarty->fetch('templ.tpl','templ','templ',false);
  28.  
  29. //wynik działania jest w zmiennej $ret. Możesz ją wykorzystać kiedy chcesz. 
  30. echo $ret;
  31. ?>


A teraz template:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>Test ajaxa</title>
  5. <meta http-equiv="content-TYPE" content="text/html; charset=iso-8859-2"/>
  6. </head>
  7. <body xml:lang="pl">
  8. {$initAjax}
  9.  
  10. <div id="main">{$TEXT1}:
  11. <div id="content" style="display:none;"></div>
  12. </div>
  13. <span onclick="xajax_testAjax('content');">Testuj<span>
  14. </body></html>



Generalnie poczytaj dokumentację na stronie
http://wiki.xajaxproject.org/Documentation...esponse.inc.php

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 16:27