#1 25. 6. 2009 11:39

washo
Člen
Místo: Brno
Registrovaný: 29. 10. 2008
Příspěvky: 68
Web

Lze poslat vice snippetu pomoci jedne sablony?

Chtel jsem se zeptat jestli lze nejak realizovat v nette aby kdy mam v sablone:

{snippet seznam}
<table>...</table>
{/snippet}

{snippet detail}
<p>...</p>
{/snippet}

se odeslalo na vystup pri ajaxovem pozadavku

{"snippets":{"seznam":"<table>...<\/table>","detail":"<p>...<\/p>"}}

a pri neajaxovem 500.

Jde to nejak? Vim ze to neni uplne funkce snippetu… ale hodilo by se mi neco takoveho a nechci si to programovat, dokud nevim ze to jeste neni…

Offline

 

#2 25. 6. 2009 12:05

Ondrej
Člen
Místo: Brno
Registrovaný: 22. 10. 2008
Příspěvky: 97

Re: Lze poslat vice snippetu pomoci jedne sablony?

se odeslalo na vystup pri ajaxovem pozadavku

{"snippets":{"seznam":"<table>...<\/table>","detail":"<p>...<\/p>"}}

jsou oba snippety soucasti jednoho controlu? Pokud ano, tak by se mely odeslat oba snippety pri invalidaci controlu. Pokud je kazdy v jinem controlu, tak se musi oba invalidovat control->invalidate()


Ten, kdo tvrdí, že něco nejde udělat, by neměl překážet tomu, kdo to udělá… http://www.ondrejnovak.eu

Offline

 

#3 25. 6. 2009 13:24

washo
Člen
Místo: Brno
Registrovaný: 29. 10. 2008
Příspěvky: 68
Web

Re: Lze poslat vice snippetu pomoci jedne sablony?

Ondrej napsal(a):

se odeslalo na vystup pri ajaxovem pozadavku

{"snippets":{"seznam":"<table>...<\/table>","detail":"<p>...<\/p>"}}

jsou oba snippety soucasti jednoho controlu? Pokud ano, tak by se mely odeslat oba snippety pri invalidaci controlu. Pokud je kazdy v jinem controlu, tak se musi oba invalidovat control->invalidate()

No je to sablona presenteru…

{snippet seznam}
<table>...</table>
{/snippet}

{snippet detail}
<p>...</p>
{/snippet}
<?php

class TestPresenter extends NPresenter
{

        public function renderTest()
        {
                $this->invalidateControl(); // Toto jsem pridal a nepomohlo to. dorazi porad {"state":[]}
                $this->setLayout(FALSE);    // Toto uz pomohlo!
        }

}
?>

Nebo lze tez takto:

<?php
class TestPresenter extends NPresenter
{
        public $oldLayoutMode = FALSE;  //Funguje to i s vypnutym oldLayouMode...

        public function renderTest()
        {
                // $this->setLayout(FALSE); Tim padem i bez nutnosti vypnuti sablony
                $this->invalidateControl();
        }
}
?>

na vystup se dostane:

{"state":[],"snippets":{"__seznam":"<table>...<\/table>\r\n","__detail":"<p>...<\/p>\r\n"}}

Diky.

Editoval washo (25. 6. 2009 13:30)

Offline

 

Zápatí