Jak načíst latte šablonu do pole ve fromuláři?
- inri
- Člen | 10
Ahoj, potřebuji poradit.
Ve formuláři mám toto:
$this->addHtmlArea(„content“, „text“)
->setRequired(self::REQUIRED);
Jakým způsobem by se dalo udělat, aby pole „content“, které se teď načítá z databáze, se načítalo z latte šablony?
Něco jako tohle: $this->addHtmlArea(„sablona.latte“, „text“)
Současně potřebuji, aby se ale pole uložilo do databáze do sloupce
content.
Je to nějakým způsobem možné?
Děkuji.
Editoval inri (31. 3. 2020 11:54)
- Polki
- Člen | 553
Ahoj, jasně. Záleží, co chceš. Jestli chceš do té textArey výsledný html kód $this->addTextArea(‚nazev‘, ‚popis‘)->setDefaultValue($latte->renderToString(‚template.latte‘, $parameters)); nebo chceš editovat přímo .latte šablonu $this->addTextArea(‚nazev‘, ‚popis‘)->setDefaultValue(file_get_contents(‚cesta/k/sablone.latte‘));
Pokud chceš ovšem dělat jedno, či druhé, tak nedoporučuji ukládat výsledek do databáze, ale do souboru a do db ukládat jen název souboru. Pak se bude případný .latte soubor dát načíst a zpracovat.
UPOZORNĚNÍ Je velmi nebezpečné ukládat takové věci do db a nechat to editovat uživatele. Pokud potřebuješ aby šlo editovat šablony, doporučuje se použít například CKeditor, nebo nějaký Wis-Wig editor a potom povolené značky neescapovat, případně pokud to bude jen na komentáře například jako tady na Nette foru, tak použít například texy