Vypnutí escapování v captionu submitu

bdinvpvsmvpscuiqpc
Člen | 57
+
0
-

Ahoj, potřebuji v captionu submitu použít <strong>text</strong>. Nicméně se nevypíše správně kvůli escapování. Jakým způsobem by bylo možné escapování zde vypnout?

Marek Bartoš
Nette Blogger | 1280
+
0
-

<strong>{$form[submit]->getCaption()}</strong> nebo {$form[submit]->getCaption()|noescape}

bdinvpvsmvpscuiqpc
Člen | 57
+
0
-

Jak by to vypadalo, pokud vykresluji formulář pomocí {control loginForm}?

Marek Bartoš
Nette Blogger | 1280
+
+1
-

Použij makro {formPrint loginForm} a zkopíruj si výsledek
Ukáže ti to, jak by formulář vypadal při manuálním renderování. Pak si jednoduše přepíšeš co potřebuješ

Marek Bartoš
Nette Blogger | 1280
+
0
-

Zkus do render metody presenteru přidat $this->session->start();, většinou na tenhle problém pomůže nastartovat session dřív.

bdinvpvsmvpscuiqpc
Člen | 57
+
0
-

Nepomohlo to, zobrazuje se stále stejný error.

Marek Bartoš
Nette Blogger | 1280
+
+1
-

Potom bych vyzkoušel na stejné místo dát \Nette\Forms\Form::initialize();
Pokud nezabere, tak případně do app/Bootstrap.php přidat volání \Tracy\OutputDebugger::enable(); a zjistit, kde začal výstup

bdinvpvsmvpscuiqpc
Člen | 57
+
0
-

Přidáním \Nette\Forms\Form::initialize(); do renderDefault() vyřešilo problém.

V default.latte mám {input send}. Jak u něj lze vypnout escapování?

Editoval bdinvpvsmvpscuiqpc (18. 2. 2021 16:23)

Marek Bartoš
Nette Blogger | 1280
+
0
-

Promiň, myslel jsem, že to vykresluje prvky podrobněji

{input send} můžeš nahradit za <input n:name="send">, konkrétněji třeba <button n:name="send" type="submit"><strong>{$form[send]->getCaption()}</strong></button>

bdinvpvsmvpscuiqpc
Člen | 57
+
0
-

Děkuji za rady. Bylo by možné vypnout escapování spíše v presenteru při vytváření formuláře?

Marek Bartoš
Nette Blogger | 1280
+
0
-

Tohle by myslím mělo fungovat, ale správné je použít šablonu. Máš pak jen jedno místo, kde se html mění, namísto toho aby bylo rozházené po malých kouscích v presenteru a komponentách a IDE tomu rozumí. Obzvlášť v komplexnějších případech to hodně pomůže.
$form->addSubmit('send', new \Nette\Utils\Html('<strong>text</strong>'));

bdinvpvsmvpscuiqpc
Člen | 57
+
0
-

Dobře, děkuji za pomoc.