Persistent parametry a komponenty
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- tttpapi
- Člen | 100
Ahoj,
mám presenter a komponentu a za boha nemůžu dostat persistentní parametry do té komponenty.
Presenter
<?php
class DocumentsPresenter extends BasePresenter {
/** @var IDocumentCommentsFormFactory @inject */
public $documentCommentsFormFactory;
/** @persistent */
public $order_field = 'created_at';
/** @persistent */
public $order = 'ASC';
...
public function createComponentNewDirectives() {
return new \NewDirectivesList($this->documentModel,
$this->fileFeeder, self::COMPONENT_FULL_SIZE);
}
?>
Pokud si v createComponent vydumpuju oba parametry, tak jsou správně.
Komponenta:
<?php
class NewCircularLettersList extends ListFactory {
public function __construct(\App\Model\Documents $documents, \App\Model\FileFeeder $fileFeeder, $size = NULL) {
parent::__construct();
?>
Pokud si vydumpuju tyto parametry zde v konstruktoru, tak již jsou buď:
- NULL, pokud jen vytvořím proměnné, případně onanotuji jako persistent
- mají vlastnost toho persistentního parametru, pokud mu v komponente přiřadím def. hodnotu
- error, pokud je v komponentě vůbec nevytvořím
Není nějaký jednoduchý způsob, jak je tam dostat?
Díky moc za pomoc.
PS: Zkoušel jsem i persistentní komponentu anotovat, ale to mi nepomohlo, nebo jsem to dělal špatně…