У меня есть требование для создания страницы / формы на основе списка элементов пользователя. Таким образом, пользователь может указать список элементов, которые имеют текстовое описание элемента, а также его тип text
или list
тип поля. ( Представьте себе список оборудования, которое можно проверить, и список проверяемых предметов зависит от типа оборудования. Конечно, есть некоторые общие элементы, но они различаются в зависимости от типа оборудования, модели и т . Д. ). Таким образом, вместо простой загрузки существующего XML-файла из models\forms\
папки и запуска с ним, можно на лету добавить новый набор полей и ряд новых полей.
Если так,
- Как это достигается?
- Где было бы правильное место, чтобы сделать это так, чтобы MVC рассматривал это, как если бы оно было в «стандартной» форме XML?
- Как лучше всего получить список этих полей для отображения в представлении?
Модели \ myform.php
$form = $this->loadForm('com_mycomponent.myform', 'myform', array('control' => 'jform', 'load_data' => $loadData));
Контроллеры / myform.php
// Get the user data.
$data = JFactory::getApplication()->input->get('jform', array(), 'array');
// Validate the posted data.
$form = $model->getForm();
if (!$form) {
JError::raiseError(500, $model->getError());
return false;
}
...
// Validate the posted data.
$data = $model->validate($form, $data);
...
// Attempt to save the data.
$return = $model->save($data);
источник