public function createComponentCategories() { $form = new \soundake\helpers\MyForm(); $form->renderStyle = 'bootstrap'; $form->getElementPrototype()->class('form-inline'); $form->setTranslator($this->translator); $categories = $this->context->createServiceCategories()->select('category.*, COUNT(DISTINCT :event_x_category.event_id) AS catCount')->where('category.visible', '1')->group('category.id')->having('COUNT(:event_x_category.category_id) > 0')->order('category.shift, category.name'); if ($this->shire != '') { $categories->where(':event_x_category.event.shire.code', $this->shire); } $cat = $form->addContainer('categories'); //$cat->addCheckbox('all', 'all')->setAttribute('onchange', 'submit()'); foreach ($categories as $category) { $cat->addCheckbox($category->id, $category->name)->setAttribute('onchange', 'submit()'); //->setOption('description', \Nette\Utils\Html::el("span")->class('help-inline')->setHtml("(" . $category->catCount . ")")); if (isset($this->categories[$category->id])) { $form['categories'][$category->id]->setValue($this->categories[$category->id]); } } $form->addHidden('blabla')->setValue(1); $form->onSuccess[] = array($this, 'setCategory'); return $form; }