October / Wintercms:以编程方式设置默认列表过滤器值

October / Wintercms : set default list filter values programatically

我正在使用 Wintercms(Octobercms 的分支)创建一个后端应用程序,它需要根据日期范围显示一些数据。

我使用列表过滤器能够 select 自定义日期范围:https://wintercms.com/docs/backend/lists#list-filters

但是当我们进入列表时,我想要一个 默认日期范围 selected。 规则是:“从当年的 2 月 1 日到 10 月 31 日”:

我在文档和 Internet 示例中都没有找到这样做的任何方法..

通过在 ListFilterExtendScopes 事件中添加范围定义来计算动态默认值:https://wintercms.com/docs/backend/lists#extend-filter-scopes

日期范围的默认值是 :afterDate 和 :beforeDate 值的数组:

        $filter->addScopes([
            'latest' => [
                'label' => 'Latest',
                'type'  => 'daterange',
                'conditions' => 'latest >= \':afterDate\' AND latest <= \':beforeDate\'',
                'yearRange'  => '20',
                'default'    => [
                    0: Carbon::now()->subDays(10),
                    1: Carbon::now()->addDays(10),
                ],
            ],
        ]);