/** * joosAutoadmin::edit() * * Генерация формы добавления/редактирования записи * * @param joosModel $obj * @param object $obj_data * @param array $params */ public static function edit(joosModel $obj, $obj_data, $params = null) { self::$active_model_name = get_class($obj); $option = joosRequest::param('option'); $task = joosRequest::param('task'); //Настраиваем параметры HTML-разметки формы if (!$params) { $params = array('label_begin' => '<div class="control-group">', 'label_end' => '', 'el_begin' => '<div class="controls">', 'el_end' => '</div></div>'); //'tab_wrap_begin' => '<tr><td>', //'tab_wrap_end' => '</td></tr>',); } //Вывод заголовка страницы с формой $header = $obj->get_tableinfo(); //Получаем данные joosAdminView::set_param('component_title', isset($header['header_main']) ? $header['header_main'] : ''); joosAdminView::set_param('component_header', $obj_data->{$obj->get_key_field()} > 0 ? $header['header_edit'] : $header['header_new']); $class = self::$active_actions_class; joosAdminView::set_param('submenu', $class::get_submenu()); joosAdminView::set_param('current_model', self::get_active_model_name()); //echo self::header(array(), 'edit'); // начинаем отлавливать поступаемый JS код //@ зачем? //self::$js_onformsubmit[] = '<script type="text/javascript" charset="utf-8">function submitbutton(pressbutton) {'; //Массив сформированных элементов для вывода $_elements = array(); //Получаем данные о элементах формы $fields_info = $obj->get_fieldinfo(); foreach ($fields_info as $key => $field) { if ($field['editable'] == true && !(isset($field['hide_on']) && $field['hide_on'] === $task)) { $v = isset($obj_data->{$key}) ? $obj_data->{$key} : ''; $_elements[$key] = self::get_edit_html_element($field, $key, $v, $obj_data, $params); } } //Если заданы табы //@todo Реализуем позже /* $_tabs_areas = ''; $_tabs_array = array(); $_tabs_new = is_callable(array($obj, 'get_tabsinfo')) ? $obj->get_tabsinfo() : null; if ($_tabs_new) { $_tabs_areas .= '<div id="tabs_wrap"><ul id="tabs_list">'; foreach ($_tabs_new as $_tab_key => $_tab_fields) { $_tabs_areas .= '<li><span rel="tab_' . $_tab_key . '">' . $_tab_fields['title'] . '</span></li>'; foreach ($_tab_fields['fields'] as $f) { if (isset($_elements[$f])) { $_tabs_array[$_tab_key]['title'] = __($_tab_fields['title']); $_tabs_array[$_tab_key]['elements'][] = $_elements[$f]; } } } $_tabs_areas .= '</ul></div>'; $i = 1; foreach ($_tabs_array as $tab_area_key => $tab_fields) { $_tabs_areas .= '<div ' . ( $i == 1 ? '' : 'style="display: none" ' ) . ' class="tab_area tab_area_' . $i . '" id="tab_' . $tab_area_key . '">'; //Начало общего контейнера $_tabs_areas .= $params['wrap_begin']; //Вывод элементов $_tabs_areas .= implode('', $tab_fields['elements']); //Конец общего контейнера $_tabs_areas .= $params['wrap_end']; $_tabs_areas .= '</div>'; $i++; } echo $_tabs_areas; } else { */ /* //Начало общего контейнера echo $params['wrap_begin']; //Вывод элементов echo implode('', $_elements); //Конец общего контейнера echo $params['wrap_end']; } */ // закрываем JS вкрапления //self::$js_onformsubmit[] = 'submitform( pressbutton );'; //self::$js_onformsubmit[] = '};</script>'; //echo "\n" . implode("\n", self::$js_onformsubmit) . "\n"; require_once JTEMPLATE_ADMIN_BASE . DS . 'html' . DS . 'edit.php'; }
public function action_after() { joosAdminView::set_param('submenu', self::get_submenu()); }