widget – samostane pouziti sablon

- arron
- Člen | 464
@wdolek: On tam jisty rozdil je. Widget se pouziva ve smyslu control (dokonce mam pocit, ze widget je v nove verzi nette deprecated), coz je neco, co se umi vykreslit. Zatimco komponenta se vykreslit nemusi umet (viz. komponenta a control).

- macesko
- Člen | 12
no tak dejme tomu, ze mam jednoduchou aplikaci, ktera do templatu doda data z db jako obsah a pak chci vypisovat nejake informace do sidebaru. Pro nektere stranky treba hledaci formular, submenu, novinky… pro dalsi treba novinky a anketu. Chapu spravne, ze toto resi ty komponenty. Nemohli byste mi nekdo nazorne ukazat jak to definovat a zaregistrovat do templatu? Dekuji mnohokrát.

- Vojtěch Dobeš
- Gold Partner | 1316
Bez presenterů by mohlo fungovat tak, že makru {control}
předáš libovolnou instanci nějaké tvojí třídy, která se ti bude
o nějaký ten požadovaný efekt starat. Na té pak makro zavolá metodu
render (nebo render<Neco>). Příklad:
class MyComponent
{
public function render()
{
echo 'hello';
}
}
U „chystání“ šablony:
$template->myComponent = new MyComponent;
A v šabloně samotné:
{control $myComponent}
To se přeloží na $myComponent->render(); a mělo by to
fungovat, protože pokud je parametrem makra control objekt, nijak
se netestuje jeho třída, může to být cokoliv. Podotýkým, že jsem to
netestoval:)
Editoval vojtech.dobes (26. 10. 2010 22:39)