restruct/silverstripe-filterablearchive

This module decorates pages with configurable fields to filter them by. Handy for newsitems & blogs, etc.

Installs: 80

Dependents: 0

Suggesters: 1

Security: 0

Stars: 0

Watchers: 4

Forks: 0

Open Issues: 0

Type:silverstripe-vendormodule

2.0.10 2024-01-10 11:02 UTC

This package is auto-updated.

Last update: 2024-03-10 11:23:33 UTC


README

This module decorates pages with configurable fields to filter them by. Handy for newsitems & blogs, etc.

Filter items via dropdowns by date (paginated).

Features

  • Apply decorators to filter pages by date (year, month/year, or day/month/year)
  • Filtering by Tags & Categories & corresponding extensions

Installation

composer require restruct/silverstripe-filterablearchive dev-master

Then add the decorators & criteria (todo) which you want to filter by to config.yml:

---
name: 'filterablearchiveextensions'
---
NewsHolder:
  extensions:
    - 'FilterableArchiveHolderExtension'
  pagination_control_tab: "Root.Subpages" # name of tab for pagination settings, defaults to "Root.Main"
  pagination_insert_before: "Subpages" # optional, set position of tab
  managed_object_class: "NewsItem"
  managed_object_date_field: "Date"
NewsHolder_Controller:
  extensions:
    - 'FilterableArchiveHolder_ControllerExtension'
NewsItem_Controller:
  extensions:
    - 'FilterableArchiveItemExtension'

TODO:

  • Move part of the shared functionality between Tags & Categories into a Trait (php >= v5.4)

Recommended

Newsgrid module (manage newsitems from a gridfield), applies this module

Requirements

  • SilverStripe 3.0 or newer