Volání funkce v presenteru ze šablony

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Dtx
Člen | 17
+
0
-

Zdravím,

mám v presenteru definovanou funkci test(), kterou bych chtěl zavolat ze šablony (která tomuto presenteru náleží). Zatím se mi ale nepodařilo zjistit, jakou syntaxi pro toto použít – a zda to vůbec jde (což doufám že ano).

Příklad

Presenter:

Class Front_GalleryPresenter extends BasePresenter
{
    public function actionShow($id = NULL, $title = NULL)
    {
        $this->template->galleries = $this->model->getGalleries();
    }

    public function getPhotos( $dirname ) {
       // vraci pole s fotkami z adresare $dirname
    }
}

Template

{foreach $galleries as $gal}

    <h3>{$gal->nazev}</h3>
    <?php // tady bych rad zavolal funkci getPhotos($gal->adresar) z presenteru ?>

{/foreach}

Určitě to půjde nějak strašně jednodušše :) já ale zatím neměl to štěstí a pořád koukám na červené chybové hlášky.

dakota
Člen | 148
+
0
-

Do šablony sa predáva premenná $presenter – aktuálny presenter. Takže je možné v šablone použiť:

$presenter->test()

Premenné vložené do šablony si môžeš vypisať:

{dump}

Editoval dakota (11. 2. 2011 13:45)

jtousek
Člen | 951
+
0
-

Přesněji:

{? $presenter->test(); }
Dtx
Člen | 17
+
0
-

skvělý, díky moc.