Answers:
如果筛选器字段在构造函数的模型的$ config ['filter_fields']数组中列出,则它们将自动填充。
例如:
public function __construct ($config = array())
{
    if (empty($config['filter_fields']))
    {
        $config['filter_fields'] = array(
                'id', 'a.id',
                'title', 'a.title',
                'alias', 'a.alias',
                'checked_out', 'a.checked_out',
                'checked_out_time', 'a.checked_out_time',
                'catid', 'a.catid',
                'category_title',
                'published', 'a.published',
                'access', 'a.access',
                'access_level',
                'created', 'a.created',
                'created_by', 'a.created_by',
                'ordering', 'a.ordering',
                'featured', 'a.featured',
                'language', 'a.language',
                'hits', 'a.hits',
                'publish_up', 'a.publish_up',
                'publish_down', 'a.publish_down'
        );
    }
    parent::__construct($config);
}
              我遇到了同样的问题,但是已经找到了问题所在。设置过滤器是一个多步骤过程。
在您的视图中,您需要将此行添加到显示功能中
$this->activeFilters = $this->get('ActiveFilters');
如果您有文档块,则需要将其指定为公共变量:
/**
  * List of active filters
  *
  * @var    array
  * @since  1.0
  */
public $activeFilters = array();
最后,将过滤器添加到模板文件中:
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
"filtersHidden":true在我的情况下,始终将其设置为true。