Example #1
0
 public function render()
 {
     $form = new Tag('form', NULL, $this->_attributes);
     $output[] = $form->open();
     if (isset($this->_field) && is_array($this->_field)) {
         foreach ($this->_field as $key => $value) {
             $input = new Input();
             $render_input[] = $input->build($value['label'], $value['name'])->{$value}['type']($value['value'])->render();
         }
         $output[] = implode(PHP_EOL, $render_input);
         $output[] = (new Tag('button', 'Submit', ['class' => ['btn', 'btn-default']]))->render();
     } else {
         $output[] = $this->_field;
         $output[] = (new Tag('button', 'Submit', ['class' => ['btn', 'btn-default'], 'type' => 'submit']))->render();
     }
     $output[] = $form->close();
     return implode(PHP_EOL, $output);
 }
Example #2
0
 public function add_item($item)
 {
     if ($item instanceof Group) {
         $this->_items[] = clone $item;
     } elseif (isset($item['input'])) {
         $group = new Group(Group::FORM_GROUP);
         // Set Input Label
         if (isset($item['label'])) {
             if (isset($item['label']['show']) and $item['label']['show'] === TRUE) {
                 $attr = isset($item['label']['attr']) ? $item['label']['attr'] : ['for' => $item['input']['name']];
                 $label = new Tag('label', $item['label']['text'], $attr);
                 $label->add_class('control-label');
                 if (isset($item['label']['tag'])) {
                     $label->set_tag($item['label']['tag']);
                 }
                 $group->add_item($label);
             }
         }
         // Set Input
         $input = new Input();
         $input->set_type($item['input']['type']);
         $input->set_attributes($item['input']['attr']);
         if (isset($item['input']['options'])) {
             $input->set_options($item['input']['options']);
         }
         $properties = $item['input'];
         unset($properties['type'], $properties['attr'], $properties['options']);
         $input->set_properties($properties);
         // Set Value
         if (!empty($item['input']['value'])) {
             $input->set_value($item['input']['value'], TRUE);
         }
         if (isset($item['container'])) {
             $container = new Tag('div', $input, $item['container']['attr']);
             if (isset($item['container']['tag'])) {
                 $container->set_tag($item['container']['tag']);
             }
             $group->add_item($container);
         } else {
             $group->add_item($input);
         }
         // Set Help
         if (!empty($item['help'])) {
             $group->add_item(new Tag('span', $item['help'], ['class' => 'help-block help-control']));
         }
         $this->_items[] = $group;
     }
 }