Jak vykreslit predanou komponentu parametrem
- kalipny
- Člen | 19
Standardně se komponenta v latte vykreslí pomocí
{control fooCmp}
ve chvíli, kdy je v latte takto zavolána, tak se vytvoří a
vykreslí. -ok
Potřeboval bych však komponentu vytvořit v presenteru jako objekt – což není problém pomocí new \…,
pak tento objekt předat jako proměnou do jiného objektu – taky není problém,
ale pak bych ji potřeboval vyreslit v template jako součást jiného (static objektu). Nebo ji vygenerovat jako řetězec a ten pak vypsat v template.
Uznávám, že je to naprosto nevhodný postup, ale potřeboval bych to spíš jako první rychlou pomoc než se přepíše celý projekt protože komponenta bude na mnoha místech.
- MajklNajt
- Člen | 502
môžeš si v komponente vedľa render
metódy (ktorú volá
makro {control fooCmp}
) vytvoriť metódu
napr. renderToString()
public function renderToString(): string
{
return $this->template->setFile(...)->renderToString();
}
a potom v presenteri predať do premennej
$this->template->fooCmpString = $fooCmp->renderToString();
aj keď, ako sám píšeš, je to dosť napikaču riešenie
Editoval MajklNajt (10. 10. 2019 18:53)