搜索工具默认未打开


9

我们正在自定义组件列表视图中实现核心搜索工具。当我单击搜索工具时,它显示出以下完美的表格。

在此处输入图片说明

当我单击下拉列表并选择特定状态,例如“已损坏”时,页面将被提交,并且表单仅装载了已损坏的记录,这也是完美的。

页面加载完成后,默认情况下,搜索工具不会显示过滤器。用户再次需要单击搜索工具按钮以打开过滤器以重置所选状态。

如何使搜索工具默认显示过滤器?

Answers:


7

我设法添加如下选项

JLayoutHelper::render(
  'joomla.searchtools.default', 
   array('view' => $this, 
  'options' => array('filtersHidden' =>$hidden)));

如果$ hidden设置为0,则不会隐藏搜索工具。我根据选定的过滤器值适当设置此变量。


3

如果筛选器字段在构造函数的模型的$ 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);
}

谢谢。但是它不起作用。我在构造函数的config变量中配置了这些字段,但仍然需要单击“搜索工具”按钮以打开过滤器选项。当我对视图源进行更多研究时,发现"filtersHidden":true在我的情况下,始终将其设置为true。
Malaiselvan

1

我遇到了同样的问题,但是已经找到了问题所在。设置过滤器是一个多步骤过程。

  1. 为了使过滤器正常工作,您需要在models / forms文件夹中添加filter_.xml文件。这需要一个常规的Joomla XML文件。
  2. 您需要在模型中设置@Nagarjun提到的过滤器
  3. 在您的视图中,您需要将此行添加到显示功能中

    $this->activeFilters = $this->get('ActiveFilters');
    
  4. 如果您有文档块,则需要将其指定为公共变量

    /**
      * List of active filters
      *
      * @var    array
      * @since  1.0
      */
    public $activeFilters = array();
    
  5. 最后,将过滤器添加到模板文件中:

    echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
    
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.