使用列表行为如何仅在搜索后显示加载数据的空列表

时间:2015-12-16 16:39:36

标签: octobercms

我正在使用真棒List Behavior,现在我需要阻止列表默认加载数据。

  • 页面加载时列表应为空 - 没有显示记录
  • 当用户在搜索输入中输入搜索条件时,将显示与搜索词匹配的记录

是否有任何设置告诉列表控制器不要预先加载数据?

如果需要覆盖控制器索引方法,检查是否已输入搜索词并返回和清空列表的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

没有设置告诉列表控制器不在第一个GET上加载数据

我认为你必须选择:

  1. 你可以创建一个全新的小部件,但它会很多 努力使它像listWidget,但小部件很容易创建 因为它们与组件大致相同。 我认为这是最好的 方式即使你的小部件不像10月的默认通用那样通用 之一。
  2. 您可以覆盖控制器方法listExtendQueryBefore()
  3.     public function listExtendQueryBefore($query, $def = null)
        {
    
            if(Request::isMethod('GET')) // Make it yours here i show nothing on a GET
             {
                return  $query->where('id','=',0); 
                //filter on an id that doesn't exist or some thing else        
             }   
    
        }
    

    小部件的输入看起来像这样

    array (
       'fullToolbarSearch' => //this is the key
            array (
               'term' => 'greg','bee',
            ),
    )
    

    正如您所看到的,方法2很简单,但这只是一种解决方法