我为Joomla 1.5构建了一个自定义组件。这是一个FAQ组件。
我想让用户从前端添加问题。
我有几个字段不应该在前端为用户显示。
对于前。在后端管理员中有“已批准”,“订购”和“已发布”等字段。我想让任何没有登录的用户在前端添加问题,但这3个字段不应该显示给前端的用户。
那么,如何构建前端用户输入?
也许有人这样做了,或者知道这个案例的一些好教程?
答案 0 :(得分:1)
在组件的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;
单击提交按钮后,您可以重新路由回同一视图。所以用户喜欢
index.php?option=com_faq&task=addQuestion&view=default
因此,在您标记页面之前(例如,在显示功能的前几行内),您可以在前端获取用户输入的内容
$question = JRequest::getVar('addRequest', null);
一旦你有了这个,你可以将它存储到你的数据库或显示它。或者,您可以通过AJAX提交表单并在控制器功能中处理它,这样您就没有刷新等。
您需要编辑router.php文件以获取任务并将其传递给您的控制器,即将其设置为任务或视图。
有很多选择,但从根本上说,你需要做三件事:
希望这会有所帮助:)