默认情况下在 Silverstripe 的 ModelAdmin 中显示过滤器表单

Show filter-form in Silverstripe's ModelAdmin by default

我在我的 silverstripe 网站上添加了一个 ModelAdmin。这包括一个过滤器表单,当用户单击前端的放大镜图标时,它会向下滑动。如何使表单默认可见(无需用户交互)?

到目前为止,我尝试使用 entwine 调用 LeftAndMain.jsshowHide(),但由于 Silvertripe 严重依赖 Ajax,因此仅在初始页面加载时显示表单。

(function($) {
    $('#filters-button').entwine({
        onadd: function(){
            this._super();
            this.entwine('ss').showHide();
        }
    });
})(jQuery);

您可以使用 CSS 默认显示过滤器(将 .MyAdmin 替换为您的 ModelAdmin 的类名):

/* file: mysite/css/admin-extensions.css */
.MyAdmin .cms-content-filters {
    display: block;
}

然后将 css 文件添加到您的要求中:

LeftAndMain:
  extra_requirements_css:
    - 'mysite/cms/css/admin-extensions.css'

运行 ?flush 让 SilverStripe 知道这些变化。