Nette\Forms\Rendering\DefaultFormRenderer::renderControls PHP Method

renderControls() public method

Renders group of controls.
public renderControls ( $parent ) : string
return string
    public function renderControls($parent)
    {
        if (!($parent instanceof Nette\Forms\Container || $parent instanceof Nette\Forms\ControlGroup)) {
            throw new Nette\InvalidArgumentException('Argument must be Nette\\Forms\\Container or Nette\\Forms\\ControlGroup instance.');
        }
        $container = $this->getWrapper('controls container');
        $buttons = NULL;
        foreach ($parent->getControls() as $control) {
            if ($control->getOption('rendered') || $control->getOption('type') === 'hidden' || $control->getForm(FALSE) !== $this->form) {
                // skip
            } elseif ($control->getOption('type') === 'button') {
                $buttons[] = $control;
            } else {
                if ($buttons) {
                    $container->addHtml($this->renderPairMulti($buttons));
                    $buttons = NULL;
                }
                $container->addHtml($this->renderPair($control));
            }
        }
        if ($buttons) {
            $container->addHtml($this->renderPairMulti($buttons));
        }
        $s = '';
        if (count($container)) {
            $s .= "\n" . $container . "\n";
        }
        return $s;
    }

Usage Example

 public function renderControls($parent)
 {
     $this->controlsInit();
     return parent::renderControls($parent);
 }