Пример #1
0
 public static function getWidgetOptionsForm($widget_name, $controller_name = false, $options = false)
 {
     $widget_path = self::getWidgetPath($widget_name, $controller_name);
     $path = cmsConfig::get('system_path') . $widget_path;
     $form_file = $path . '/options.form.php';
     $form_name = 'widget' . ($controller_name ? "_{$controller_name}_" : '_') . "{$widget_name}_options";
     $form = cmsForm::getForm($form_file, $form_name, array($options));
     if (!$form) {
         $form = new cmsForm();
     }
     $form->is_tabbed = true;
     //
     // Опции внешнего вида
     //
     $design_fieldset_id = $form->addFieldset(LANG_DESIGN);
     $form->addField($design_fieldset_id, new fieldString('class_wrap', array('title' => LANG_CSS_CLASS_WRAP)));
     $form->addField($design_fieldset_id, new fieldString('class_title', array('title' => LANG_CSS_CLASS_TITLE)));
     $form->addField($design_fieldset_id, new fieldString('class', array('title' => LANG_CSS_CLASS_BODY)));
     $form->addField($design_fieldset_id, new fieldString('tpl_wrap', array('title' => LANG_WIDGET_WRAPPER_TPL, 'hint' => LANG_WIDGET_WRAPPER_TPL_HINT)));
     $form->addField($design_fieldset_id, new fieldString('tpl_body', array('title' => LANG_WIDGET_BODY_TPL, 'hint' => sprintf(LANG_WIDGET_BODY_TPL_HINT, $widget_path))));
     //
     // Опции доступа
     //
     $access_fieldset_id = $form->addFieldset(LANG_PERMISSIONS);
     // Показывать группам
     $form->addField($access_fieldset_id, new fieldListGroups('groups_view', array('title' => LANG_SHOW_TO_GROUPS, 'show_all' => true, 'show_guests' => true)));
     // Не показывать группам
     $form->addField($access_fieldset_id, new fieldListGroups('groups_hide', array('title' => LANG_HIDE_FOR_GROUPS, 'show_all' => false, 'show_guests' => true)));
     //
     // Опции заголовка
     //
     $title_fieldset_id = $form->addFieldsetToBeginning(LANG_BASIC_OPTIONS);
     // ID виджета
     $form->addField($title_fieldset_id, new fieldNumber('id', array('is_hidden' => true)));
     // Заголовок виджета
     $form->addField($title_fieldset_id, new fieldString('title', array('title' => LANG_TITLE, 'rules' => array(array('required'), array('min_length', 3), array('max_length', 128)))));
     // Флаг показа заголовка
     $form->addField($title_fieldset_id, new fieldCheckbox('is_title', array('title' => LANG_SHOW_TITLE, 'default' => true)));
     // Флаг объединения с предыдущим виджетом
     $form->addField($title_fieldset_id, new fieldCheckbox('is_tab_prev', array('title' => LANG_WIDGET_TAB_PREV)));
     // Ссылки в заголовке
     $form->addField($title_fieldset_id, new fieldText('links', array('title' => LANG_WIDGET_TITLE_LINKS, 'hint' => LANG_WIDGET_TITLE_LINKS_HINT)));
     return $form;
 }