Smart Content Filter

AJAX & UX

Version: 1.6.0

AJAX & UX

How AJAX Works

Smart Content Filter uses Joomla's com_ajax endpoint. The frontend script sends the module ID, category or categories, filters, sort option, view mode, page offset, and load-more page. The server returns updated article card HTML using that module instance's saved settings.

Loading Modes
  • Load More Button: Appends the next batch of articles. The current page is stored in the URL when shareable state is enabled.
  • Infinite Scroll: Loads more articles automatically near the bottom of the list.
  • Prefetch Next Page: Optionally preloads the next page in the background (Article Arrangement).
URL State & Persistence
  • Shareable Filter URLs (Filters tab, Filter Panel): Stores category, search, tag(s), custom fields, author, date, sort, view mode, and load-more page in the query string as scf_{moduleId}_* parameters.
  • Common keys: cat, search, tag, field, field2, author, from, to, sort, view, page.
  • Only filters that differ from their defaults are written. A single tag filter becomes ?scf_143_tag=16. Multi-category becomes ?scf_143_cat=145,146.
  • Reset clears that module's filter parameters from the URL and leaves unrelated query parameters untouched.
  • When Lock Default Filters is on, locked category, tag, or custom field values stay applied even if a shared URL tries to change them.
  • Filtered views can be bookmarked, shared, and restored on reload.
  • Grid/List preference is also stored in a per-module cookie.
  • To stop writing filter parameters altogether, set Shareable Filter URLs to No. Filtered views can then no longer be bookmarked or preselected by link.
UX Options
  • Skeleton Loading and Filter Transitions (Advanced)
  • Sticky Filter Toolbar, Empty State Message, and Filters Display (Filters)
  • Output JSON-LD Schema (Advanced)
Multiple Instances

Each module instance uses its own wrapper, module ID, AJAX state, CSS variables, and URL parameters (scf_{id}_*). Multiple instances can run on the same page independently.