情况:有一个足球赛季期间的事件列表。如果我从列表中选择 Saison,我将获得另一个列表,其中包含所有分配给该 saison 的事件。Saison 期间的事件列表由以下人员调用:
com_mycomponent/view=eventlists&saisonid=2011
这将向我显示分配给 2011 赛季的所有事件的列表
现在我想为 2011 赛季创建一个新活动。
添加按钮将调用:eventlist.add
MyComponentControllerEventList extends JControllerForm
在添加操作期间,我想以某种方式将 saison (2011) 传递给表单。
模型包含:
public function getTable($type = 'EventList', $prefix = 'MyComponentTable', $config = array())
{
return JTable::getInstance($type, $prefix, $config);
}
public function getForm($data = array(), $loadData = true)
{
// Get the form.
$form = $this->loadForm('com_mycomponent.eventlist', 'eventlist', array('control' => 'jform', 'load_data' => $loadData));
if (empty($form))
{
return false;
}
return $form;
}
protected function loadFormData()
{
// Check the session for previously entered form data.
$data = JFactory::getApplication()->getUserState('com_mycomponent.edit.eventlist.data', array());
if (empty($data)){
// generate an empty item
$data = $this->getItem();
}
return $data;
}
所以它是直截了当的。
视图也是一种默认值。
public function display($tpl = null)
{
// get the Data
$form = $this->get('Form');
$item = $this->get('Item');
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Assign the Data
$this->form = $form;
$this->item = $item;
// Display the template
parent::display($tpl);
}
对此有什么想法吗?谢谢