【问题标题】:Joomla 1.5 Front End user add content into custom componentJoomla 1.5 前端用户将内容添加到自定义组件中
【发布时间】:2012-02-14 02:09:41
【问题描述】:

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

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

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

例如。在后端管理中具有已批准、订购和已发布等字段。我想让任何没有登录的用户在前端添加问题,但这三个字段不应该显示给前端的用户。

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

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

【问题讨论】:

    标签: php joomla joomla1.5 joomla-extensions


    【解决方案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 文件以获取任务并将其传递给您的控制器,即将其设置为任务或视图。

    有很多选择,但基本上你需要 3 件事:

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

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 2010-11-23
      • 2013-01-23
      • 1970-01-01
      • 2011-03-20
      • 2011-01-20
      • 2012-09-25
      • 2013-05-08
      • 2018-08-10
      • 2014-11-01
      相关资源
      最近更新 更多