getRenderer() публичный Метод

Returns form renderer.
public getRenderer ( ) : Nette\Forms\IFormRenderer
Результат Nette\Forms\IFormRenderer
 private function setupRenderersLayout()
 {
     $renderer = $this->form->getRenderer();
     if ($renderer instanceof DefaultFormRenderer) {
         $renderer->wrappers['controls']['container'] = NULL;
         $renderer->wrappers['pair']['container'] = 'div class=form-group';
         $renderer->wrappers['pair']['.error'] = 'has-error';
         $renderer->wrappers['control']['container'] = 'div class=col-sm-9';
         $renderer->wrappers['label']['container'] = 'div class="col-sm-3 control-label"';
         $renderer->wrappers['control']['description'] = 'span class=help-block';
         $renderer->wrappers['control']['errorcontainer'] = 'span class=help-block';
     }
 }
Пример #2
0
 /**
  * Renders form begin.
  * @param Form $form
  * @param array $attrs
  * @param bool $withTags
  * @return string
  */
 public static function renderFormBegin(Form $form, array $attrs, $withTags = TRUE)
 {
     $renderer = $form->getRenderer();
     if ($renderer instanceof IManualRenderer) {
         $renderer->beforeRender($form);
     }
     return parent::renderFormBegin($form, $attrs, $withTags);
 }
Пример #3
0
 /**
  * Front-end unsubscription form
  *
  * @return Nette\Forms\Form
  */
 public static function unsubscriptionForm($widget = FALSE, $widgetId = '')
 {
     $form = new Form('unsubscriptionFront' . $widgetId);
     $form->addText('email', 'Your e-mail address')->setRequired('To unsubscribe, you need to fill in your e-mail address.')->addRule(Form::EMAIL, 'Your e-mail address must be valid.');
     $form->addSubmit('submit', 'Unsubscribe')->setAttribute('class', 'subscribeButton');
     // swap renderer for widgets
     if ($widget == TRUE) {
         $renderer = $form->getRenderer();
         $renderer->wrappers['controls']['container'] = 'dl';
         $renderer->wrappers['pair']['container'] = NULL;
         $renderer->wrappers['label']['container'] = 'dt';
         $renderer->wrappers['control']['container'] = 'dd';
     }
     return $form;
 }
Пример #4
0
 public static function bootstrapForm(Form $form)
 {
     // setup form rendering
     $renderer = $form->getRenderer();
     $renderer->wrappers['controls']['container'] = NULL;
     $renderer->wrappers['pair']['container'] = 'div class="form-group"';
     $renderer->wrappers['pair']['.error'] = 'has-error';
     $renderer->wrappers['control']['container'] = 'div class="col-sm-9"';
     $renderer->wrappers['label']['container'] = 'div class="col-sm-3 control-label"';
     $renderer->wrappers['control']['description'] = 'span class=help-block';
     $renderer->wrappers['control']['errorcontainer'] = 'span class=help-block';
     // make form and controls compatible with Twitter Bootstrap
     $form->getElementPrototype()->class('form-horizontal');
     foreach ($form->getControls() as $control) {
         if ($control instanceof Controls\Button) {
             $control->getControlPrototype()->addClass(empty($usedPrimary) ? 'btn btn-shadow' : 'btn btn-default');
             $usedPrimary = TRUE;
         } elseif ($control instanceof Controls\TextBase || $control instanceof Controls\SelectBox || $control instanceof Controls\MultiSelectBox) {
             $control->getControlPrototype()->addClass('form-control form-control-shadow');
         } elseif ($control instanceof Controls\Checkbox || $control instanceof Controls\CheckboxList || $control instanceof Controls\RadioList) {
             $control->getSeparatorPrototype()->setName('div')->addClass($control->getControlPrototype()->type);
         }
     }
 }
Пример #5
0
<?php

/**
 * Nette\Forms custom rendering example.
 */
require_once __DIR__ . '/../../Nette/loader.php';
use Nette\Forms\Form, Nette\Debug, Nette\Web\Html;
Debug::enable();
$countries = array('Select your country', 'Europe' => array('CZ' => 'Czech Republic', 'SK' => 'Slovakia', 'GB' => 'United Kingdom'), 'CA' => 'Canada', 'US' => 'United States', '?' => 'other');
$sex = array('m' => Html::el('option', 'male')->style('color: #248bd3'), 'f' => Html::el('option', 'female')->style('color: #e948d4'));
// Step 1: Define form with validation rules
$form = new Form();
// setup custom rendering
$renderer = $form->getRenderer();
$renderer->wrappers['form']['container'] = Html::el('div')->id('form');
$renderer->wrappers['form']['errors'] = FALSE;
$renderer->wrappers['group']['container'] = NULL;
$renderer->wrappers['group']['label'] = 'h3';
$renderer->wrappers['pair']['container'] = NULL;
$renderer->wrappers['controls']['container'] = 'dl';
$renderer->wrappers['control']['container'] = 'dd';
$renderer->wrappers['control']['.odd'] = 'odd';
$renderer->wrappers['control']['errors'] = TRUE;
$renderer->wrappers['label']['container'] = 'dt';
$renderer->wrappers['label']['suffix'] = ':';
$renderer->wrappers['control']['requiredsuffix'] = " •";
// group Personal data
$form->addGroup('Personal data');
$form->addText('name', 'Your name')->addRule(Form::FILLED, 'Enter your name');
$form->addText('age', 'Your age')->addRule(Form::FILLED, 'Enter your age')->addRule(Form::INTEGER, 'Age must be numeric value')->addRule(Form::RANGE, 'Age must be in range from %d to %d', array(10, 100));
$form->addSelect('gender', 'Your gender', $sex);
 /**
  * @param Form $form
  * @param array $args
  */
 private static function renderFormBegin(Form $form, array $args)
 {
     if ($form->getRenderer() instanceof BootstrapRenderer) {
         $form->render('begin', $args);
     } else {
         Nette\Bridges\FormsLatte\FormMacros::renderFormBegin($form, $args);
     }
 }