handler signálu v komponentě
- jannemec
- Člen | 78
MajklNajt napsal(a):
Pripadne skús názov metódy zmeniť na
handleFacebookAuthorize
To jsem samozřejmě zkoušel … ale ona připojená je – protože ten
se zavolá (je to etoda té komponenty ..)
A jinak je to normálně v presenteru přes továrnu vytvořená komponenta
a konstruktor yé komponenty
- jannemec
- Člen | 78
CZechBoY napsal(a):
A vzdycky volej
parent::__construct();
To mi ale hází chybu
16: class SocialLogin extends \Nette\Application\UI\Control {
17: public function __construct($parent = null, $name = null) {
18: parent::__construct();
19: if (is_null($name)) {
20: $name = ‚socialLogin‘;
Na řádku 18 – chyba „Cannot call constructor“
A tu továrnu mám – je to v presentru
- Marek Bartoš
- Nette Blogger | 1297
$this->form = new \Nette\Application\UI\Form();
// Vytvoření toho formuláře
$this->addComponent($this->form, $name . ‚frm‘);$parent->addComponent($this, $name);
Takhle ne, pro formulář si vytvoř samostatnou createComponent* metodu. Nech Nette, aby zavolalo addComponent() samo
A vzdycky volej parent::__construct();
Pokud tedy existuje. Což u komponenty od Nette 3 neexistuje, @CZechBoY
A nepřipojuj komponenty do hierarchie v konstruktoru. Připojíš tak při inicializaci komponentu k rodiči, který sám ještě není inicializovaný a připojený k presenteru. Vzniknou ti tak těžko odhalitelné chyby
Editoval Mabar (5. 1. 2020 23:53)