Component '' is not attached to ‚Nette\Forms\Form‘

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

Dobrý den,

mám problém s vlastní formulářovou componentou UploadPreviewControl poděděnou od UploadControl. Vyskakuje chyba Component '' is not attached to ‚Nette\Forms\Form‘, pokud chci v componentě zavolat metodu getForm.

  1. …/vendor/nette/nette/Nette/Forms/Controls/BaseControl.php:111 – lookup (arguments)
  2. …/vendor/others/App/Controls/UploadPreview/UploadPreviewControl.php:48 – getForm ()
  3. …/vendor/nette/nette/Nette/Forms/Controls/BaseControl.php:87 – setValue (arguments)
  4. …/vendor/nette/nette/Nette/Forms/Controls/UploadControl.php:28 – __construct (arguments)
  5. …/vendor/others/App/Controls/UploadPreview/UploadPreviewControl.php:23 – __construct (arguments)
  6. …/vendor/others/App/Controls/UploadPreview/UploadPreviewControl.php:35 – __construct (arguments)

Na řádce 48, kde chyba vzniká je toto:

public function setValue($value) {
	$this->value = $value;
/*48:*/	dump($this->getForm());
	$this->form[$this->getUidName()] = new HiddenField($this->value);
	if(is_string($value))
		$this->file = $value;
	return $this;
 }

Přikládám ještě metodu __construct, register a addUploadPreview. Pokud by bylo potřeba pošlu celý object, ale jde to pouze přes tyhle metody:

public function __construct($label = NULL) {
/*23:*/	parent::__construct($label);
}

public static function register() {
	if (self::$registered)
		throw new InvalidStateException(__CLASS__ . " is already registered");

	\Nette\Forms\Container::extensionMethod('addUploadPreview', callback(__CLASS__, 'addUploadPreview'));
	self::$registered = TRUE;
}

public static function addUploadPreview(\Nette\Application\UI\Form $form, $name, $label) {
/*35:*/	return $form[$name] = new static($label);
}

Divné také je, že pokud zavolám třeba v metodě setValue metodu $this->getName(), tak vrací NULL.

Přešel jsem z Nette 2.0 na 2.1 a přestalo to fungovat. Na Nette 2.0 tohle fungovalo. Napadá někoho, čím by to mohlo být nebo co se v tomhle změnilo od 2.0?

Díky za případné odpovědi :)

mesour
Nette Blogger | 236
+
0
-

Opravu nikdo netuší?