derhansen / sf_event_mgt

An event management and registration extension for TYPO3 CMS based on ExtBase and Fluid.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Filters, Search and Pagination in a single template

lksnmnn opened this issue · comments

Extension version

Tell me which version of sf_event_mgt you use
Latest (7.3)

Short problem description

I do need to setup a page that allows both using filters (ideally multiple ones, see #1033), search and pagination. If I read the controller code correctly, pagination only works for the list template at the moment. (The client also wants the calendar view in the same component...).

Expected behaviour

Ideally there is a plugin that can do search, filter and pagination.

Actual behaviour

...

Server configuration

TYPO3 version: 11.5.32

PHP version: 8.12

I will be looking into how to extend the controller for my purposes. Using ke_search with a custom indexer would be my next aproach.

Due to a very low amount of data I could get away without pagination or a "fake" client side pagination using javascript.

Creating a search view that supports both pagination and filtering will require, that is is possible to transfer filter parameters via GET requests to the TYPO3 pagination API. I implemented such solutions in several customer projects out of the scope of sf_event_mgt. In scope of sf_event_mgt this will however mean, that a possible search view with pagination and filtering (filtering works currently already out of the box using overwriteDemand) will also be extendable as the rest of the extension is. This is not really an easy task and will increase the complexity and maintainability for me.

Besides that I also think, that ext:ke_search or ext:solr will suit much better into the topic, because both can be customized in many ways and do also provide typical search features like autosuggest, fast response times, in text search, facets, special sorting or synonyms. I will therefore close this ticket, since I will not change the current behavior of the extension.

And since you write, that you only have a limited amount of data, I suggest to stick to simple client side filtering using JavaScript, which most likely should perform pretty fast with up to ~200-300 records on a page.