Definování persistentního parametru bez anotace
- David Matějka
- Moderator | 6445
teoreticky by melo stacit prekryt statickou metodu getPersistentParams: https://api.nette.org/…ent.php.html#…
(ale nepujde je pridavat dynamicky)
- joseff
- Člen | 233
Jde mi o to právě Base třídu nemít. Nepotřebuji ji a dělat Base třídu jen kvůli dvěma řádkům, tedy definování persistentní proměnné mě přijde blbost. Trait zase budu muset psát do každého presenteru a budu na to muset myslet u každého vytvoření nového Presenteru a zase bude ta traita mít jen význam přidání pers. proměnné.
- Eda
- Backer | 220
@DavidMatějka Takto to šlo před Nette 3, pak byla bohužel tato možnost odstraněna…
https://github.com/…366fc8034842#…
Tohle je jeden z důvodů, proč nechci povyšovat na Nette 3 – nevím o jiném ne úplně hacky řešení.
- ZbyRih
- Člen | 3
joseff napsal(a):
Zdravím. Lze v presenteru nějak definovat persistentní parametr bez anotace. Něco jako metoda addPersistenParameter($name, $defaultValue)?
Díky za radu
Tohle bych potřeboval na 2.4 taky, abych z komponenty řekl například když se attachuje tady mám tyhle persistentní parametry. Potřebuju to proto že nemůžu měnit třídu presenteru. presenter dela komponenty dynamicky, čili neví jak se jmenují ani jeslti budou nebo ne. a v komponente mam form a potřebuju si podržet pár id.
- F.Vesely
- Člen | 369
@ZbyRih V komponente muzes taky pouzivat persistentni parametry viz https://doc.nette.org/…n/components#…
- ZbyRih
- Člen | 3
Vyřešeno:
<?php
$form->setAction(
new Link($this->presenter, 'this', [
$this->getParameterId('productId') => $this->productId,
$this->getParameterId('attrs') => $this->attrs
]));
?>
form v komponentě v komponentě
uznávám. je to trochu jiný případ než chtěl @joseff
@FVesely anotaci v komponentě mám, čili sem se dostal k označení komponenty jako persistentní v presenteru, k presenteru nemůžu, ergo vyřešeno takto.
Editoval ZbyRih (20. 5. 2020 9:41)