質問: $model->save($data);
回答: 私はjformとメソッドsetfield()およびgetfieldset()を使用してフィールドを設定および取得していましたが、joomlaはエラーをスローしていました。 listを追加しようとしたときに、joomlaはxmlを解析できませんでしたuntilまで追加しましたoption_on="yes"およびoption_off="yes"。 (これらが何で/なぜ必要なのかわかりませんが、これらを使用すると、以下のコードが機能します)。models\myform.php public function getform($data = array(), $loaddata = true) { // get the form. $form = $this->loadform('com_mycomponent.mymodel', 'myform', array('control' => 'jform', 'load_data' => $loaddata)); if (empty($form)) { return false; } $element = new simplexmlelement('<fieldset name="myfieldset"> <field name="myfield1" type="list" label="my list" default="2" option_on="yes" option_off="yes"> <option value="1">low</option> <option value="2">normal</option> <option value="3">high</option> </field> <field name="myfield2" type="text" label="my field 1" class="inputbox" size="30" /> <field name="myfield3" type="text" label="my field 2" class="inputbox" size="30" /> </fieldset>'); $form->setfield($element); return $form; } views/myview/tmpl/default.php$this->form->getfieldset('myfieldset'), true) // loop through these results and display them accordingly $myfieldset = $this->form->getfieldset('myfieldset'); if(count($myfieldset)){ foreach($myfieldset as $field) { $field_name = $field->getattribute('name'); echo $this->form->getlabel($field_name); echo $this->form->getinput($field_name); } } controllers/myview.php// get the user data. $data = jfactory::getapplication()->input->get('jform', array(), 'array'); /* $data does contain my input fields*/ // the model/table doesn't contain columns for my custom fields, so the data to be saved has to be manipulated here to "go somewhere permanent". // validate the posted data. $form = $model->getform(); /* $form does contain my input fields*/