Latte 3: {link} v šabloně
- sukovf
- Člen | 1
Zdravím,
prosím pěkně, jak můžu ve službě vyrenderovat latte template do
stringu a v dané templatě použít {link}
makro?
V latte 2 stačilo něco jako:
$latte = $this->latteFactory->create();
$latte->addProvider('uiControl', $this->linkGenerator);
$latte->renderToString(...);
V latte 3 už toto nefunguje a dostávám exception
říkající Unexpected tag {link}...
V dokumentaci jsem narazil na radu používat nově toto:
$latte->addExtension(new Nette\Bridges\ApplicationLatte\UIExtension($control));
Nemám však k dispozici žádný $control
. Přesněji,
netuším, kde to vzít. Mám si do té služby passnout presenter?
Předem díky za rady :-)
Editoval sukovf (2. 10. 2022 15:19)
- Marek Bartoš
- Nette Blogger | 1264
On tohle byl vždycky spíš workaround, než design choice. Pořád se to však dá obejít, jen trochu jinak
$latte->addExtension(new Nette\Bridges\ApplicationLatte\UIExtension(null));
$latte->addProvider('uiControl', $this->linkGenerator);