从 SilverStripe 仪表板模块中删除不需要的面板

Remove unwanted panels from SilverStripe Dashboard Module

我正在使用 dashboard 模块,但不希望我的用户能够 select 任何类型的面板。有没有办法从可用面板列表中删除像 "Weather" 或 "Google Analytics" 这样的面板而不删除整个 class?

仪表板模块 recently been updated 允许通过 yml 配置文件启用和禁用面板,例如 mysite/_config/config.yml.

以下规则将禁用 DashboardGoogleAnalyticsPanel

DashboardGoogleAnalyticsPanel:
  enabled: false

以下规则将禁用所有面板并启用 CustomPanel

DashboardPanel:
  enabled: false

CustomPanel:
  enabled: true

不是真正的解决方案,更多的是解决方法。但它做了它应该做的。

  $("[data-create-url*='DashboardRSSFeedPanel'], [data-create-url*='DashboardGoogleAnalyticsPanel'], [data-create-url*='DashboardGridFieldPanel'], [data-create-url*='DashboardModelAdminPanel'], [data-create-url*='DashboardSectionEditorPanel'], [data-create-url*='DashboardWeatherPanel'], [data-create-url*='DashboardRecentEditsPanel']").entwine({
    onmatch: function() {
      $(this).remove();
      $('.available-panel').removeClass('even');
      $('.available-panel').removeClass('odd');
      $('.available-panel:even').addClass('odd');
      $('.available-panel:odd').addClass('even');
    }
  });