我为Joomla 1.5构建了一个自定义组件。它是一个常见问题组件。
我想让用户从前端添加问题。
我有几个字段不应该在前端显示给用户。
对于ex。在后端管理有像批准,排序和发布等字段。我想让任何用户在没有登录的情况下在前端添加问题,但这3个字段不应该显示给前端的用户。
那么,如何构建前端用户输入呢?
也许有人已经这样做了,或者知道一些关于这个案例的很好的教程?
发布于 2012-01-20 06:16:59
在组件的view.html.php文件中(例如,com_faq/views/view.html.php)您可以定义输入字段部分的标记。我构建了一个$html变量,如下所示:
$html .= '<input name="addQuestion" value="" type="Text"/>';然后添加对它的引用:
$this->assignRef("addQuestion", $html);这样您就可以在视图模板(即com_faq/views/tmpl/default.php)中将其添加到页面中,如下所示
echo $this->addQuestion;当您单击提交按钮时,您可以重新路由回相同的视图。因此用户可以像这样使用url
index.php?option=com_faq&task=addQuestion&view=default因此,在标记页面之前(例如,在display函数的前几行中),您可以在前端获取用户输入的内容
$question = JRequest::getVar('addRequest', null);一旦你有了它,你可以将它存储到你的数据库或者显示它。或者,您也可以使用AJAX提交表单,然后在控制器函数中处理它,这样就不需要刷新了,等等。
您将需要编辑您的router.php文件来拾取任务并将其传递给您的控制器,即将其设置为任务或视图。
这方面有很多选择,但从根本上说,你需要3件事:
希望这能有所帮助:)
https://stackoverflow.com/questions/8925681
复制相似问题