Форум русской поддержки Joomla!® CMS
05.12.2016, 22:43:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как сделать сортировку полей в классе JForm?

 (Прочитано 537 раз)
0 Пользователей и 1 Гость смотрят эту тему.
voloxa89
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« : 10.12.2015, 17:21:12 »

Добрый день!
Задача: Требуется добавить определенное количество полей в форму регистрации.

Самый легкий и быстрый способ это кастомизировав файл registration.xls в папке \components\com_users\models\forms\. Но такой способ не подходит. Хочется не потерять возможность нормального обновления движка.

Решил написать плагин который будет добавлять и сортировать в JForms дополнительные поля из моего XML файлика.

Плагин написал, все работает нормально, но:
1. Нужно автоматически удалять из JForm ненужные поля
2. Нужно отсортировать вывод полей в определенной последовательности (сейчас получается, что дополнительные поля выводятся под полем CAPTCHA)

Код плагина:
Код:
public function onContentPrepareForm($form, $data)
{
if (!($form instanceof JForm))
{
$this->_subject->setError('JERROR_NOT_A_FORM');

return false;
}

JForm::addFormPath(__DIR__ . '/form');
$form->loadFile('form', false);

// список полей которые должны выводится на странице регистрациц
$fields = array(
'name',
'surname',
'username',
'password1',
'email1',
'captcha',
);

               // массив в который помещаем нужные нам поля
$new_form = array();

foreach ($fields as $value) {
                        // если есть поле, пишем в $new_form
if($res = $form->getField($value)) {
$new_form[$value] = $res;
}
}

if(count($new_form) > 0) {
     //  Очищаем текущую форму
                       $form->reset(true);

                        // далее нужно вставить новые данные в форму
                       // вот тут тупик
                      
                      
}

}
Основной вопрос состоит в том как (каким методом) вставить данные из $new_form в JForm?
Прошу помочь кто в теме  !
Неужели все добавляют поля только через кастомизацию XML файлов компонента?

Админ, прошу перенести тему в общие вопросы по Joomla, так как к конструкторам форм данный топик не относится.
« Последнее редактирование: 10.12.2015, 17:30:29 от voloxa89 » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet