Manuální renderování inputu v containeru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
chikeet
Člen | 160
+
0
-

Ahoj,
snažím se v latte vyrenderovat container (Kdyby\Replicatoru) takto:

<tr n:foreach="$form['lecturers']->getContainers() as $lecturerContainer">
							<td>{var $input = $lecturerContainer['name']}</td>
							<td>{var $input = $lecturerContainer['remove']}
								<button n:name="$input->name" class="btn btn-danger {$input->control->class}">
									<span class="fa fa-trash"></span>
								</button>
							</td>
						</tr>

ale narážím na problém s tím, že se v latte generuje tohle:

$_input = is_object($input->name) ? $input->name : end($this->global->formsStack)[$input->name];

což vede k chybě:
Component with name 'remove' does not exist.

Přijde mi zvláštní, že se testuje, jestli je objekt $input->name – to by měl být přece string, ne? Když se pak input hledá podle názvu ve formu, tak se logicky nenajde, protože není ve formu, ale zanořený v containeru. Když si input dumpnu, tak tam je.

Co dělám špatně? (Mám latte 2.4.4)

Editoval chikeet (2. 7. 2017 10:06)

David Matějka
Moderator | 6445
+
+1
-

ahoj, testuje to z toho duvodu, ze tam nemusis predavat string, ale primo ten input objekt :) takze bude stacit

<button n:name="$input" ...

jinak se tam totiz musi dat plna cesta, tedy neco jako lecturers-$i-remove