我在使用ComponentCreator创建的组件中有一个基本的前端表单。
我如何以及在何处指导“行动”表单?我在哪里可以处理这个以便我遵循MVC设计模式?我的表单在视图中(default.php)
表单应该在提交时简单地插入到数据库中。我不想使用表单构建扩展,我已经尝试过这些并且它们不符合我的要求。
答案 0 :(得分:4)
什么版本的Joomla?假设您没有使用AJAX,那么只需直接连接到您的控制器即可。
<form id='MyForm' method='post' action='index.php?option=com_mycomponent&task=myoperation'>
<input type='text' name='myname'/>
...</form>
然后你的控制器(controller.php)中会有一个名为myoperation的函数,它将处理表单中的所有内容(当然不会忘记令牌)
JSession::checkToken('request') or jexit( JText::_( 'JINVALID_TOKEN' ) );
$jinput = JFactory::getApplication()->input;
$add_name = $jinput->get('myname', '', 'STRING');
//whatever you need to do...
//add to model if you wanted to add name to DB
$model = &$this->getModel();
$model->updateDB(...);
然后在模型中创建函数updateDB。
这是Joomla 2.5的一个粗略示例,但应该与3.x一起使用。希望这会有所帮助。