NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:6.7.2017 19:20

Ahoj mám problém s generování továrničky a fakt is nevím rady, dělám to podle tohoto návodu – https://pla.nette.org/…o-komponenty
A můj kód, který jsem si upravil vypadá takto (trochu se liší od toho v tutorialu, ale myslím že to by problém být neměl)

CategoryForm:

class CategoryForm extends UI\Control {

    private $database;
    public $onCategorySave;

    public function __construct(Connection $database) {
        parent::__construct();
        $this->database = $database;
    }

    public function createComponentForm() {
        $form = new UI\Form;
        $form->addSubmit('send', 'Odeslat');
        $form->onSuccess[] = [$this, 'processForm'];

        return $form;
    }

    public function processForm($form) {
        $this->onCategorySave($this, $category);
    }

}

interface ICategoryFormFactory
{
    /** @return \CategoryForm */
    function create();
}

Presenter:

class HomepagePresenter extends BasePresenter {
    public $categoryFormFactory;

    public function __construct(ICategoryFormFactory $categoryFormFactory) {
        $this->categoryFormFactory = $categoryFormFactory;
    }

    protected function createComponentCategoryForm() {
        $control = $this->categoryFormFactory->create();
        $control->onCategorySave[] = function(CategoryControl $control, $category) {
            $this->redirect('this');
        };

        return $control;
    }

}

Config:

App\Forms\ICategoryFormFactory

Moc Vám děkuji za rady. :)

 
Odpovědět
6.7.2017 19:20
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Petr Kasnal
Petr Čech:6.7.2017 19:44

Nejsem si jist, kde je problém, kromě toho, že jsi nám očividně nedal celý konfigurační soubor, takže tam nemůžeme odhalit chybu.
Zkontroluj si možná jmenné prostory.

Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
6.7.2017 19:44
the cake is a lie
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Petr Čech
Petr Kasnal:6.7.2017 20:04

Měl jsem chybu v configu díky moc :) Melo by to být jenom -> ICategoryFormFac­tory

 
Nahoru Odpovědět
6.7.2017 20:04
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Petr Kasnal
Petr Čech:6.7.2017 23:23

Možná bys měl zapřemýšlet nad používání namespaces, tohle bude totiž dost brzy nepoužitelné, až budeš mít víc tříd.

Nahoru Odpovědět
6.7.2017 23:23
the cake is a lie
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na Petr Čech
Petr Kasnal:7.7.2017 3:11

Já vím já to prozatím jen testuju :)

 
Nahoru Odpovědět
7.7.2017 3:11
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.