více stejných komponent s různými parametry na jedné stránce
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- yrow
- Člen | 12
Zdravím, mám jednoduchou testovací komponentu a potřeboval bych jí v šabloně vypsat vícekrát a pokaždé s jinými parametry.
Po dlouhém brouzdání jsem našel něco pomocí multiplieru
v presenteru:
<?php
protected function createComponentTestComp() {
$multiplier = new Nette\Application\UI\Multiplier(function ($arg) {
$control = $this->testFactory->create($arg);
return $control;
});
return $multiplier;
}
?>
a v šabloně
<?php
{control testComp-$arg1}
blabla
{control testComp-$arg1}
?>
šlo by tohoto docílit nějak jinak bez multiplieru?
např. v šabloně něco na způsob:
<?php
{control testComp,arg = "argument"}
{control testComp,arg = "argument2"}
?>
- nettolog
- Člen | 68
Záleží na co to potřebuješ, jde to třeba takhle:
{control xycontrol $arg1, $arg2}
V továrničce pak jde obsah komponenty obalit stylem
{snippet xycontrol} {snippet xycontrol-$id}...{/snippet}{/snippet}
Omlouvám se za stručnost, píšu z mobilu, ale třeba ti to pomůže. Záleží na co přesně to potřebuješ.