Nette\Forms\Helpers::createInputList PHP Метод

createInputList() публичный статический Метод

public static createInputList ( array $items, array $inputAttrs = NULL, array $labelAttrs = NULL, $wrapper = NULL ) : string
$items array
$inputAttrs array
$labelAttrs array
Результат string
    public static function createInputList(array $items, array $inputAttrs = NULL, array $labelAttrs = NULL, $wrapper = NULL)
    {
        list($inputAttrs, $inputTag) = self::prepareAttrs($inputAttrs, 'input');
        list($labelAttrs, $labelTag) = self::prepareAttrs($labelAttrs, 'label');
        $res = '';
        $input = Html::el();
        $label = Html::el();
        list($wrapper, $wrapperEnd) = $wrapper instanceof Html ? [$wrapper->startTag(), $wrapper->endTag()] : [(string) $wrapper, ''];
        foreach ($items as $value => $caption) {
            foreach ($inputAttrs as $k => $v) {
                $input->attrs[$k] = isset($v[$value]) ? $v[$value] : NULL;
            }
            foreach ($labelAttrs as $k => $v) {
                $label->attrs[$k] = isset($v[$value]) ? $v[$value] : NULL;
            }
            $input->value = $value;
            $res .= ($res === '' && $wrapperEnd === '' ? '' : $wrapper) . $labelTag . $label->attributes() . '>' . $inputTag . $input->attributes() . (Html::$xhtml ? ' />' : '>') . ($caption instanceof Nette\Utils\IHtmlString ? $caption : htmlspecialchars($caption, ENT_NOQUOTES, 'UTF-8')) . '</label>' . $wrapperEnd;
        }
        return $res;
    }

Usage Example

Пример #1
0
 /**
  * Generates control's HTML element.
  * @return string
  */
 public function getControl()
 {
     $items = $this->getItems();
     reset($items);
     $input = parent::getControl();
     return Nette\Forms\Helpers::createInputList($this->translate($items), array_merge($input->attrs, array('id' => NULL, 'checked?' => $this->value, 'disabled:' => $this->disabled, 'required' => NULL, 'data-nette-rules:' => array(key($items) => $input->attrs['data-nette-rules']))), $this->label->attrs, $this->separator);
 }
All Usage Examples Of Nette\Forms\Helpers::createInputList