Php Joomla Component 3.0中列表视图和搜索表单的组合

Php Joomla Component 3.0中列表视图和搜索表单的组合,php,forms,joomla,joomla3.0,Php,Forms,Joomla,Joomla3.0,我正在尝试在我的作业视图中添加搜索表单。它应该是所有可用工作的列表以及过滤结果的搜索表单。searh表单由需要预先填充数据库数据的复选框组成 所以我有很多问题 我应该通过使用过滤器来实现这一点,还是朝着正确的方向看 我从哪里开始呢?之前我曾尝试在下面的视图中添加用于表单的代码,但我甚至不知道应该从哪个类继承 由于“JModelList”与getListQuery()结合使用。我尝试了两个JForm etc和继承的类,但出现了以下错误:“警告:为C:\Users\Nick\Documents\Dr

我正在尝试在我的作业视图中添加搜索表单。它应该是所有可用工作的列表以及过滤结果的搜索表单。searh表单由需要预先填充数据库数据的复选框组成

所以我有很多问题

  • 我应该通过使用过滤器来实现这一点,还是朝着正确的方向看
  • 我从哪里开始呢?之前我曾尝试在下面的视图中添加用于表单的代码,但我甚至不知道应该从哪个类继承 由于“JModelList”与getListQuery()结合使用。我尝试了两个JForm etc和继承的类,但出现了以下错误:“警告:为C:\Users\Nick\Documents\Dropbox\yourstudent\Development\Live\components\com\u jobs\views\jobs\tmpl\default.php中的foreach()提供的参数无效,第18行”

    我在创建表单时没有遇到任何问题,有几个很好的例子可以说明对象所需的crud操作。但当您a)将列表视图与表单相结合,或b)需要表单像预填充了数据的搜索表单一样工作时,情况并非如此

    基本上,我一直在组合这两个视图,我甚至无法测试我的表单字段等是否正确。 下面是模型作业的一个片段。你们还需要其他代码来帮我吗

    (这是我在这里的第一个问题,请耐心等待,如果需要,我会尝试调整我的问题。)

    代码片段

    <?php
    
    /* ------------------------------------------------------------------------
      # jobs.php - jobs Component
      # ------------------------------------------------------------------------
      # author    Breens Nick
      # copyright Copyright (C) 2013. All Rights Reserved
      # license   GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
      # website   www.nick.breens.be
      ------------------------------------------------------------------------- */
    
    // No direct access to this file
    defined('_JEXEC') or die('Restricted access');
    // import the Joomla modellist library
    jimport('joomla.application.component.modellist');
    
    /**
     * Jobs Model
     */
    class JobsModeljobs extends JModelList {
    
        /**
         * Method to build an SQL query to load the list data.
         *
         * @return      string  An SQL query
         */
        protected function getListQuery() {
            // Create a new query object.
            $db = JFactory::getDBO();
            $query = $db->getQuery(true);
            // Select some fields
            $query->select('*');
            $query->from('#__yourstudent_jobs');
    
            return $query;
        }
    }
    
    ?>
    
    
    
    多亏了Joomla Coding 3.0子论坛上的一篇文章,我得到了答案

    有人回答说,我应该在我的案例中使用过滤器,并将我的组件基于文章。然后我搜索了一个好的教程,然后找到了这个

    如果有人感兴趣,我会在下面发布我的代码。(型号代码保持不变。)