Storefront Shelves Guide
Business overview
Shelves are the primary way we curate the storefront homepage and filter pages. Store administrators design discovery experiences by combining multiple filters per shelf (language + format + genre, for example), choosing ordering, and controlling visibility without writing queries. The builder lives in Dashboard → Settings → Shelves and now supports the new multi-filter design shipped in DEV-4444.
Access and roles
- Who: Store administrators with dashboard access.
- Where: Dashboard → Settings → Shelves (
/dashboard/settings#shelves). - When to use: To launch thematic rows (e.g., “Fantasy audiobooks”, “Discounted Spanish releases”) and keep homepage merchandising consistent with storefront filter pages.
Modes
- Automatic: System-generated shelves for My Issues, Latest Issues, and BISAC-based categories; minimal configuration.
- Custom: Full control with drag-and-drop ordering, per-shelf titles, visibility toggle, and multi-filter definitions.
Custom shelf builder (new)
- Create/edit: Use “Add new” or the gear icon on a shelf card. The modal opens instantly (skeleton) and loads content in parallel.
- Filters: Combine multiple filter types in a single shelf; all conditions apply with AND logic. Duplicate filter types are blocked to avoid conflicting rules.
- Static: Free issues, Latest issues, Discounted.
- Taxonomies: Collection, Publisher, Publishing group, Keyword (shown when enabled for the tenant).
- Categories: BISAC subject headings.
- Contributors: Author, illustrator, translator, narrator (searchable).
- Audience: Uses configured audience options.
- Format: File type (pdf, epub, audio; physical when enabled).
- Language.
- Year (publication).
- Value entry:
- Searchable combobox for taxonomies and contributors (starts after 3 characters).
- Select inputs for BISAC, year, audience, language, and file type.
- Each filter requires a value; the save action blocks incomplete filters.
- Ordering inside a shelf:
- Sort options: Newest first, Most popular, Alphabetical A–Z.
- Sort selector hides when a filter enforces its own order (Latest issues, Discounted) to keep results consistent.
- Default ordering uses Newest first to keep freshness without extra setup.
- Shelf actions:
- Inline rename, visibility toggle (eye icon), delete.
- Drag handle to reorder shelves on the page; pending order is saved when you click “Save configuration”.
- “View more”/filter links use the same query parameters as the shelf, keeping the library filter page aligned with the homepage shelf.
Appearance and content controls
- Color theme: Set the shelf accent color (hex) at the top of the Settings card; applies to all shelves.
- Adult content exclusion: Toggle to hide “Adults only” products from shelves while keeping them discoverable via search/filter pages (see
adult-content-filter.mdfor behavior details). - Shelf type selector: Switch between Automatic and Custom modes; saving persists the choice and resets order flags.
Operational notes
- Shelf definitions now drive storefront filter URLs and sitemaps (
shelf_*entries). After migrating or bulk-updating shelves, regenerate sitemaps withpla:force-generate-sitemapsto refresh search engines. - Shelves use the same filter params as the library filter page, ensuring “View more” stays in sync with homepage merchandising.
FAQ / troubleshooting
- Cannot save shelf: Add at least one filter, set required values, and avoid duplicate filter types.
- Sort picker disabled: Expected when using filters that bring their own order (Latest issues, Discounted).
- Combination with no results: The shelf hides automatically on the storefront until matching products exist.
- Visibility vs. deletion: Use the eye icon to hide temporarily; delete removes the shelf and its order entry.