自定义Joomla组件中的自定义窗体

时间:2013-07-23 15:31:57

标签: forms joomla

我在使用ComponentCreator创建的组件中有一个基本的前端表单。

我如何以及在何处指导“行动”表单?我在哪里可以处理这个以便我遵循MVC设计模式?我的表单在视图中(default.php)

表单应该在提交时简单地插入到数据库中。我不想使用表单构建扩展,我已经尝试过这些并且它们不符合我的要求。

1 个答案:

答案 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一起使用。希望这会有所帮助。