Вопрос загрузка данных в форму

Тема в разделе "Создание расширений для Joomla", создана пользователем Hishchnik, 06.01.2015.

  1. Hishchnik
    Offline

    Hishchnik Недавно здесь

    Регистрация:
    23.12.2014
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте! С праздниками Вас!
    Назрел такой вопрос:

    Код (CODE):
    1. public function getForm($data = array(), $loadData = true)
    2.     {
    3.         // Get the form.
    4.         $form = $this->loadForm('com_sports.project', 'project', array('control' => 'jform', 'load_data' => $loadData));
    5. JForm::addFormPath(dirnane(__FILE__).'/папка_относительно_модели');
    6. $form->loadfile('название_файла_без_xml',false); //форма загружается, там параметры, а вот данные из поля [b]params[/b] в форму не вносятся...
    7.  
    8.         if (empty($form)) {
    9.             return false;
    10.         }
    11.         return $form;
    12.     }

    Так вот вопрос, как загрузить данные в форму, заранее благодарен за ответ!
     
    Последнее редактирование: 06.01.2015
  2.  
  3. Hishchnik
    Offline

    Hishchnik Недавно здесь

    Регистрация:
    23.12.2014
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    после долгих поисков информации в интернете пришел к результату, группировка помогла:
    Код (xml):
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <form>
    3.         <fieldset name="general" addfieldpath="/administrator/components/com_sports/models/fields" >
    4.                 <field name="name" type="text" label="COM_SPORTS_TITLE" description="" required="true" size="30" class="inputbox" />
    5.                 <field name="alias" type="text" label="JFIELD_ALIAS_LABEL" description="JFIELD_ALIAS_DESC" hint="JFIELD_ALIAS_PLACEHOLDER" size="40" />
    6.                 <field name="pir" type="text" label="COM_SPORTS_PROJECT_PIR" description="COM_SPORTS_PROJECT_PIR_DESC" required="true" size="30" class="inputbox"/>
    7.  
    8.  
    9.         </fieldset>
    10.        
    11.         <fields name="params">
    12.                 <fieldset name="params1" label="COM_SPORTS_GLOBAL_PARAMS">
    13.  
    14.                         <field         name="show_date" type="radio" default="0" class="btn-group"
    15.                                label="COM_SPORTS_LABEL_SHOW_DATE"
    16.                                description="COM_SPORTS_DESCR_SHOW_DATE">
    17.                         <option value="0">JNO</option>
    18.                         <option value="1">JYES</option>
    19.                 </field>
    20.                 </fieldset>
    21.  
    22.                 <fieldset name="params2" label="COM_SPORTS_GLOBAL_PARAMS">
    23.  
    24.                         <field         name="show_picture" type="radio" default="0" class="btn-group"
    25.                                label="COM_SPORTS_LABEL_SHOW_PICTURE"
    26.                                description="COM_SPORTS_DESCR_SHOW_PICTURE">
    27.                         <option value="0">JNO</option>
    28.                         <option value="1">JYES</option>
    29.                         </field>
    30.                 </fieldset>
    31.         </fields>
    32.  
    33. </form>

    вывожу упрощенный вариант, но рабочий, потом метки и поменять можно:
    Код (PHP):
    1. echo $this->form->getControlGroups('general');
    2. echo $this->form->getControlGroups('params'.$type); // где  $type == 1 || $type == 2
     
  4. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    @Hishchnik, одного не понял - как связаны com_bs и com_sports.
    Похоже вопрос и ответ понятен лишь тебе. %)
    Можешь полностью описать задачу и решение? Просим! J:{
     
  5. Hishchnik
    Offline

    Hishchnik Недавно здесь

    Регистрация:
    23.12.2014
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    писал с телефона, не доглядел, не суть важно какой вызов основной формы(поправил первый пост)....

    дело в том, что необходимо было загружать параметры из определения типа проекта( использовал условие на тип и вставлял в запрос
    Код (PHP):
    1. $form->loadfile('название_файла_без_xml',false);
    )
    форма грузилась, но данные, которые хранились в ячейке params не загружались в форму(то есть при сохранении формы значения по дефолту)
    во втором посте при группировке параметров
    вызываю
    Код (PHP):
    1. echo$this->form->getControlGroups('params'.$type); //где $type это тип проекта

    задача решена, форма загружается как надо и значения формы правильные
     

Поделиться этой страницей

Загрузка...