Mam wymaganie, aby wygenerować stronę / formularz na podstawie listy elementów użytkownika. Jak to, że użytkownik może określić listę elementów, które mają tekstowy opis pozycji i czy jest to text
albo list
typ pola. ( Wyobraź sobie listę sprzętu, który można sprawdzić, a lista elementów do sprawdzenia różni się w zależności od rodzaju sprzętu. Z pewnością niektóre elementy są wspólne, ale różnią się w zależności od typu sprzętu, modelu itp .). Tak więc zamiast po prostu ładować istniejący plik XML z models\forms\
folderu i uruchamiać go z nim, można na bieżąco dodawać nowy zestaw pól i serię nowych pól.
W takim razie,
- Jak to się osiąga?
- Gdzie byłoby to właściwe miejsce, aby MVC traktowało go tak, jakby był w „standardowej” formie XML?
- Jak najlepiej pobrać listę tych pól do wyświetlenia w widoku?
modele \ myform.php
$form = $this->loadForm('com_mycomponent.myform', 'myform', array('control' => 'jform', 'load_data' => $loadData));
kontrolery / 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);
źródło