J'ai une obligation de générer une page / formulaire basé sur la liste d'éléments de l'utilisateur. En l'état, l'utilisateur peut spécifier une liste d'éléments qui ont une description textuelle de l'élément, et s'il s'agit d'un type de champ text
ou list
. ( Imaginez une liste d'équipements pouvant être extraits, et la liste des éléments à vérifier varie selon le type d'équipement. Il y a certainement des éléments partagés, mais ils varient selon le type d'équipement, le modèle, etc. ). Ainsi, au lieu de simplement charger un fichier XML existant à partir du models\forms\
dossier et de l'exécuter, un nouveau jeu de champs et une série de nouveaux champs peuvent être ajoutés à la volée.
Si c'est le cas,
- Comment est-ce accompli?
- Où serait le bon endroit pour le faire afin que MVC le traite comme s'il était au format XML "standard"?
- Comment récupérer au mieux la liste de ces champs à afficher dans la vue?
models \ myform.php
$form = $this->loadForm('com_mycomponent.myform', 'myform', array('control' => 'jform', 'load_data' => $loadData));
controllers / 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);