0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 3948 Просмотров
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Jform для frontend модуля Joomla 3
« : 21.02.2017, 20:40:24 »
Доброго времени суток уважаемые форумчане. Подскажите коль не сложно, как подключить и использовать JForm и соответсвено form.xml с полями для модуля ? Подразумевается вывод формы в модуле  на фронтенде. В сети информации не нашел кроме вот такого метода

Код: php
(1) module core file: 
$filepath=dirname(__FILE__).'/form/form.xml'; /*put your file in ROOT/modules/mod_yourModule/form/form.xml*/
$form=new JForm('mod_yourModule');
$form->loadFile($filepath);

(2) template file
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="login-form">
        <?php
        foreach ($form->getFieldsets() as $fieldset):
            $fields = $form->getFieldset($fieldset->name);
            echo '<fieldset id="'.$fieldset->name.'"';
            if (isset($fieldset->class)) echo ' class="'.$fieldset->class.'"';
            echo '>';
            if (isset($fieldset->label) AND ""!=$fieldset->label) echo '<legend id="legend'.$fieldset->name.'">'.$fieldset->label.'</legend>';
            foreach($fields as $field):
                if ($field->hidden): echo $field->input;
                else: ?>
                    <div class="control-group <?php echo $field->id;?>">
                        <?php echo preg_replace('/class="/', 'class="control-label ',$field->label,1); ?>
                        <div class="controls <?php echo $field->id;?>">
                            <?php echo $field->input;?>
                        </div>
                    </div>
                    <?php endif;
            endforeach;
            echo '</fieldset>';
        endforeach; ?>
</form>

Однако у меня он не работает. Переменная $form->getFieldsets() возвращает пустой массив вместо полей.

Вариант прописать поля формы стандартными тегами input в виде модуля не сильно подходит т.к много полей и это будет не удобно . Прошу помощи, кто сталкивался с такой же задачей ?
*

voron121

  • Захожу иногда
  • 220
  • 1 / 0
  • Метод тыка и мата помогает в кодинге
Re: Jform для frontend модуля Joomla 3
« Ответ #1 : 22.02.2017, 13:34:17 »
чуть разобрался с подключением XML файла с формами в модуле. Использовал вот такую конструкцию

Код: php
$Form = new JForm('Form');
$Form->loadFile(JPATH_ROOT.'/modules/mod_filter/form/form.xml');
$formarray = $Form;

Соответствено $formarray  возвращает объект с формами и его можно в цикле обработать в виде. Однако столкнулся с другой траблой : в компоненте я подключаю форму при помощи функции getFrom в модели которая наследует класс  JModelList . В связи с этим при выводе форм у меня у поля есть префикс, к примеру не input_name а jfrom_input_name (я так понимаю что префикс передается в функции getForm как параметр).  Если использовать конструкцию выше то поля формы выводятся без префикса. Его я задал в XML файле с формами вручную (он нужен был, без него никак) однако возник вопрос : как использовать JModelList в модуле если есть такая необходимость ? Можно ли в хелпере к примеру объявить класс class modfilterHelper с наследием JModelList  или это уже чернокнижие и плохая идея ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка при редактировании модулей. jform

Автор lalalag

Ответов: 16
Просмотров: 3990
Последний ответ 16.03.2017, 10:54:36
от ProtectYourSite
Ошибка поля JForm-User

Автор KKAAZZOO

Ответов: 1
Просмотров: 2847
Последний ответ 31.05.2016, 12:52:58
от robert
Error JForm::getInstance could not load file

Автор backovadim

Ответов: 1
Просмотров: 3539
Последний ответ 10.02.2016, 13:54:46
от backovadim
Как сделать сортировку полей в классе JForm?

Автор voloxa89

Ответов: 0
Просмотров: 3115
Последний ответ 10.12.2015, 16:21:12
от voloxa89
yvcOrdering - плагин JForm Field Ordering (для разработчиков)

Автор yunoshev

Ответов: 0
Просмотров: 2992
Последний ответ 16.11.2015, 21:08:04
от yunoshev