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。