状況: サッカー シーズン中のイベントのリストがあります。リストからセゾンを選択すると、そのセゾンに割り当てられたすべてのイベントを含む別のリストが表示されます。セゾン中のイベントのリストは、次のように呼び出されます。
com_mycomponent/view=eventlists&saisonid=2011
これにより、セゾン 2011 に割り当てられたすべてのイベントのリストが表示されます
では、セゾン 2011 の新しいイベントを作成したいと思います。
追加ボタンが呼び出します: eventlist.add
MyComponentControllerEventList extends JControllerForm
追加操作中にセゾン(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);
}
これについて何か考えはありますか?ありがとう