首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joomla 1.5前端用户将内容添加到自定义组件

Joomla 1.5前端用户将内容添加到自定义组件
EN

Stack Overflow用户
提问于 2012-01-19 19:59:56
回答 1查看 827关注 0票数 0

我为Joomla 1.5构建了一个自定义组件。它是一个常见问题组件。

我想让用户从前端添加问题。

我有几个字段不应该在前端显示给用户。

对于ex。在后端管理有像批准,排序和发布等字段。我想让任何用户在没有登录的情况下在前端添加问题,但这3个字段不应该显示给前端的用户。

那么,如何构建前端用户输入呢?

也许有人已经这样做了,或者知道一些关于这个案例的很好的教程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-20 06:16:59

在组件的view.html.php文件中(例如,com_faq/views/view.html.php)您可以定义输入字段部分的标记。我构建了一个$html变量,如下所示:

代码语言:javascript
复制
$html .= '<input name="addQuestion" value="" type="Text"/>';

然后添加对它的引用:

代码语言:javascript
复制
$this->assignRef("addQuestion", $html);

这样您就可以在视图模板(即com_faq/views/tmpl/default.php)中将其添加到页面中,如下所示

代码语言:javascript
复制
echo $this->addQuestion;

当您单击提交按钮时,您可以重新路由回相同的视图。因此用户可以像这样使用url

代码语言:javascript
复制
index.php?option=com_faq&task=addQuestion&view=default

因此,在标记页面之前(例如,在display函数的前几行中),您可以在前端获取用户输入的内容

代码语言:javascript
复制
$question = JRequest::getVar('addRequest', null);

一旦你有了它,你可以将它存储到你的数据库或者显示它。或者,您也可以使用AJAX提交表单,然后在控制器函数中处理它,这样就不需要刷新了,等等。

您将需要编辑您的router.php文件来拾取任务并将其传递给您的控制器,即将其设置为任务或视图。

这方面有很多选择,但从根本上说,你需要3件事:

  1. 在view.html.php文件中创建标记并为其分配引用,然后在模板中包含引用,即将表单default.php
  2. Submit到同一组件可以处理它的地址,即index.php?option=com_faq&task=addQuestion&view=default

希望这能有所帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8925681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档