Ho l'obbligo di generare una pagina / modulo in base all'elenco di articoli dell'utente. Così com'è, l'utente può specificare un elenco di elementi che hanno una descrizione testuale dell'articolo e se si tratta di un tipo di campo text
o list
. ( Immagina un elenco di attrezzature che è possibile estrarre e l'elenco di elementi da controllare varia in base al tipo di attrezzatura. Esistono sicuramente alcuni elementi condivisi, ma variano in base al tipo di attrezzatura, al modello, ecc .). Quindi, anziché semplicemente caricare un file XML esistente dalla models\forms\
cartella ed eseguirlo, è possibile aggiungere al volo un nuovo set di campi e una serie di nuovi campi.
Se è così,
- Come viene realizzato?
- Dove sarebbe il posto giusto per farlo in modo che MVC lo tratti come se fosse nel formato XML "standard"?
- Il modo migliore per recuperare un elenco di quei campi da visualizzare nella vista?
modelli \ myform.php
$form = $this->loadForm('com_mycomponent.myform', 'myform', array('control' => 'jform', 'load_data' => $loadData));
controllori / 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);