예제 #1
0
파일: ORM.php 프로젝트: ariol/adminshop
 public function populate(CM_Form_Abstract $form)
 {
     foreach ($form->get_field_names() as $name) {
         if ($this->is_field_populated($name)) {
             $this->get_model()->{$name} = $form->get_field($name)->get_value()->get_raw();
         }
     }
 }
예제 #2
0
파일: Labels.php 프로젝트: ariol/adminshop
 public function construct_form(CM_Form_Abstract $form, $params)
 {
     $this->set_model($params);
     foreach ($form->get_field_names() as $name) {
         if ($label = arr::get($this->get_model()->labels(), $name)) {
             $form->get_field($name)->set_label($label);
         }
     }
 }
예제 #3
0
 public function render(CM_Form_Abstract $form)
 {
     $fieldgroups = array();
     foreach ($this->_fieldgroups as $fieldgroup) {
         $fieldgroups[$fieldgroup] = array();
     }
     foreach ($form->get_field_names() as $name) {
         $fieldgroup = arr::get($this->_fields_fieldgroups, $name, 'Default');
         $fieldgroups[$fieldgroup][$name] = $form->get_field($name);
     }
     foreach ($fieldgroups as $fieldgroup_name => $fields) {
         if (empty($fields)) {
             unset($fieldgroups[$fieldgroup_name]);
         }
     }
     return View::factory('cm/form/fieldgroups', array('fieldgroups' => $fieldgroups, 'form' => $form));
 }
예제 #4
0
 public function construct_form(CM_Form_Abstract $form, $param)
 {
     $renderer = new CM_Form_Renderer_Fieldgroups();
     foreach ($this->_fieldgroups as $group_name => $fields) {
         if (is_array($fields)) {
             foreach ($fields as $field_name) {
                 $renderer->set_field_fieldgroup($field_name, $group_name);
             }
         } else {
             foreach ($form->get_field_names() as $field_name) {
                 if (preg_match($fields, $field_name)) {
                     $renderer->set_field_fieldgroup($field_name, $group_name);
                 }
             }
         }
     }
     $form->set_renderer($renderer);
 }