Snippet / Ajax základní otázky
- KillPrd
- Začátečník | 110
Ahoj,
Rád bych pomocí ajaxu vracel jiste veci do urcitých míst
v šabloně ale:
Nepochopil jsem když volám ajax onclick na urcitý handler jak načíst jistou věc v mém případě formulář do jiste části odkud to volám v šaboně například do tabulky
Zřejmě jsem nepocopil kde má být označen snippet zda v sablone kam se načítají data nebo má bát v sablone která je načítána nebo jeho určitá část.
volana sablona:
{snippet form}
{widget katForm}
{/snippet}
tam kam se to má načíst mám:
{snippet}
{include form}
{/snippet}
:-(
- 22
- Člen | 1478
Projdi si tutorial od Pandy..nic lepšího na pochopení tady asi není: https://pla.nette.org/…ivajici-ajax
- KillPrd
- Začátečník | 110
No to je hezkej tutorial ale v něm se přepisují jisté věci věcma
které se zmení ale já potřebuji
do prazdneho divu napraskat formulář po klikdnuti na buton ci ahref. ted uz
vim ze snippety jsou v cilovem layoutu ale jak docilim toho ze se nacte neco az
po tom jistem klimnuti
- 22
- Člen | 1478
tak buď si to ošetři nějakou hodnotou, kterou si pošleš do handleru, aby jsi věděl že button se stisknul a podle toho komponentu vykresli anebo si tam nahod na ten DIV nejakej jQuery .hide()/.show() nabindovanej na ten button nebo link.
a navic, prece si do toho handleru muzes dat invalidaci toho snipetu, takze pokud je defaultne prazdnej a plni ho handler, tak nevidim problem..
Editoval 22 (17. 9. 2010 10:39)
- KillPrd
- Začátečník | 110
Tak opravdu nevím co dělám špatně…
<?php
<a href="#" onclick="{link User:ajax};" class="ajax">Hledej:</a>
{snippet flashes}
{foreach $flashes as $flash}<div class="flash {$flash->type}">{$flash->message}</div>{/foreach}
{/snippet}
?>
a presenter
<?php
public function renderAjax()
{
$this->flashMessage('kukuc.');
}
?>
ovšem nic se neprovede… už s tím bojuju dva dny zjistil jsem že v nove verzi nette se už nepoužívají @ tedy aspon predpokládám protože pak mi to ubec nenaběhlo…
- Aurielle
- Člen | 1281
Nemáš tam $this->invalidateControl('flashes');
. Jinak mé
demo na AJAX (staré snippety): http://nette.valvegames.cz/ajax-demo.rar
Editoval gmvasek (19. 12. 2010 11:03)
- KillPrd
- Začátečník | 110
Tak jsem se radoval asi předčasně ta problém je asi zřejmě v zavináčích co jsem si myslel že tam nebudou používány. pokud nepoužiju @ stránka se mi totálně rozhodí pokud použiju zavináš tak se strának vubec nezorbazí nebo napíš hlášku
syntax error, unexpected ‚}‘
a na tohle jsme nikde nenašel ve foru odpověd…
- KillPrd
- Začátečník | 110
Měl bych otázku jak vypsat externi sablonu ve snippetu.
Používám kod hadletu:
<?php
if ($this->isAjax())
$template = $this->template;
$template->setFile(APP_DIR . '/templates/tabulkaUsers.phtml');
$this->template->items = dibi::query("SELECT [id],[jmeno],[prava],[stat] FROM [mylogin] WHERE ID = 1");
$template->render();
$this->invalidateControl();
?>
data se načcou do externí sablony ale ne do snippetu…
Editoval KillPrd (20. 12. 2010 10:10)