Jak ajaxem překreslit část generující chybu formuláře a neobdržet chybovou hlášku?

Alsatian
Člen | 164
+
0
-

Ahoj, tuší někdo, prosím, proč mi následující script vyhodí chybu?
Pročítám fóra a stejně se nemůžu dopátrat, kde dělám chybu.
Rád bych překreslil pouze část formuláře, která vypisuje chybu (tedy ne celý formulář).
Nette ve verzi 2.4

Stačí zadat do šablonky následující kód a dostávám chybu „Undefined variable: form“:

{snippetArea formWrapper}
	<form n:name="footerForm">
	{snippet formError}
		<div n:if="$form->hasErrors()" class="alert alert-danger" role="alert">
			<li n:foreach="$form->ownErrors as $error">{$error}</li>
		</div>
	{/snippet}
	...

Zkoušel jsem dle pročítání fóra něco jako (ale marně)

public function renderHomepage()
{
    $this->template->getLatte()->addProvider('formsStack', [$this["footerForm"]]);
}

Zobrazená chyba:
Notice: Undefined variable: form

Po Skip Error: Call to a member function hasErrors() on null

File: …\templates-Homepage-default.latte–b5a4c4e509.php:115

105:    <?php
106:            $this->global->snippetDriver->leave();
107:
108:        }
109:
110:
111:        function blockFormError($_args)
112:        {
113:            extract($_args);
114:            $this->global->snippetDriver->enter("formError", "static");
115:            if ($form->hasErrors()) {
116:    ?>                    <div class="alert alert-danger" role="alert">
117:    <?php
118:                $iterations = 0;
119:                foreach ($form->ownErrors as $error) {

Editoval Alsatian (14. 12. 2018 12:53)

Alsatian
Člen | 164
+
0
-

Sám si odpovím :D Dával jsem řádek s

$this->template->form = $this['footerForm'];

do špatného presenteru… a to do BasePresenteru. Správně je do HomepagePresenteru…

Tak snad to už bude šlapat :)