Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Nette\Application\UI\Form,
- Nette\Forms\Controls\SubmitButton;
- /**
- * Homepage presenter.
- *
- * @author John Doe
- * @package MyApplication
- */
- class HomepagePresenter extends BasePresenter
- {
- /** @persistent */
- public $item; // tady si budeme ukládat item, vybraný v prvním selectu
- public function renderDefault()
- {
- $this->template->anyVariable = 'any value';
- }
- protected function createComponentTestForm()
- {
- $form = new Form();
- $form->addSelect('item', 'Položka', array(1 => 'Foo', 2 => 'Bar', 3 => 'Baz'));
- $form->addSubmit('send', 'Odeslat')
- ->onClick[] = callback($this, 'addSubitemToForm');
- if ($this->item) { // pokud je vybraný nějaký item, přidáme select se sub-itemy
- $form->addSelect('subitem', 'Pod-položky', array(1 => 'Subfoo', 2 => 'Subbar', 3 => 'Subbaz'));
- $form->addSubmit('delete', 'Smaž')
- ->onClick[] = callback($this, 'deleteSubitem');
- }
- return $form;
- }
- public function addSubitemToForm(SubmitButton $button)
- {
- $values = $button->form->values;
- $this->item = $values['item']; // pokud jsme ve formu vybrali nějaký item, uložíme ho do persistentní proměnné (aby se nám po redirectu neztratila)
- $this->redirect('this');
- }
- public function deleteSubitem(SubmitButton $button)
- {
- dump("Jsem zde, už stačí jen smazat co potřebuji a redirectnout.");
- $this->item = NULL; // po smazání persistentní proměnnou zresetujeme zpět na NULL
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement