predanie parametra do komponenty
- roko146
- Člen | 7
Zdravim Vas,
potrebujem pomoc a to s predanim paramera $langid komponente definovanej v presentery:
Template:
{control pagesDatagrid $langid}
Presenter:
public function createComponentPostsDatagrid($langid) {
$datagrid = new Grids\PostsDatagrid($this, $this->cms, $this->lang, $langid);
return $datagrid->get();
}
Jedine co potrebujem je to aby som parameter $langid predal komponente pagesDatagrid a nasledne s nim dalej pracoval.
Dakujem za kazdu radu.
- David Matějka
- Moderator | 6445
Ahoj, pomuze, kdyz napises, co ti nefunguje, nebo co ti to pise za chybu. Ale pokud predavas nejakou hodnotu primo v tovarnice, je zbytecne ji predavat i v sablone.
Ale nemysli si, ze pokud napises v parametrech createComponent* metody
$langid
, tak ze se tam preda. Tahle magie funguje jen u action a
render metod :)
(A pokud tu hodnotu predavas az v sablone, nebude to fungovat s ajaxem…)
Editoval matej21 (31. 12. 2014 0:40)
- roko146
- Člen | 7
Ide o to ,ze vo foreach potrebujem volat komponentu, ktoru mam definovanu v presentery.
{foreach $langs as $langid}
{control pagesDatagrid $langid}
{/foreach}
Nefunguje predanie parametra (resp. neviem najst sposob ako ho predat komponente). To ze tato magia nefunguje som zistil :-D a preto potrebujem nejake riesenie.
S ajaxem som to neskusal. V nette som zaciatocnik.
- Zax
- Člen | 370
Pokud je $langid číslo nebo alfanumerický text, pak na to jde použít UI\Multiplier
{foreach $langs as $langid}
{control pagesDatagrid-$langid}
{/foreach}
(pomlčka mezi pagesDatagrid a $langid)
A továrna se přepíše takto:
public function createComponentPostsDatagrid() {
return new UI\Multiplier(function($langid) {
$datagrid = new Grids\PostsDatagrid($this, $this->cms, $this->lang, $langid);
return $datagrid->get();
});
}
Editoval Zax (31. 12. 2014 8:21)