EL PaperBoy
Well-known member
- #1
Thread Owner:
EL PaperBoy
This plugin lets you filter your custom database homepage for a custom database field.
You must use "Show records like articles" in your database settings. Otherwise this plugin doesn't make any sense.
In the plugin settings set the database id, the custom field id you want to filter for and the value(s) in this custom field you want to filter for. I recommend a radio button based field. Others weren't tested.
Caution: If you choose to filter for only one/several value(s) and not all and you have additional blocks/content which are based on the same database they also show only filtered content. In my use case this is not a problem. In your use case it could be. To get an impression of what I mean see https://gr-solutions.de , click the links with showStatus in them and watch the right block! Although, you might not understand the language have a look at the colored badges and how they differ when clicking a link with a applied filter.
The last setting is a custom URL variable you can set. Use ?yourVariableName=chosenfilter to create links for filtering content. See link above as example.
You should duplicate the "Category Articles" template (just export and import it again) in the Pages database template section because you have to adapt the pagination template. In the new created template group you should replace in the index template the following line
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
with
{template="GRcustomDatabaseNavigation" app="core" location="global" group="plugins" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
This is need because pagination has to get the filter variable, too.
View the full article
You must use "Show records like articles" in your database settings. Otherwise this plugin doesn't make any sense.
In the plugin settings set the database id, the custom field id you want to filter for and the value(s) in this custom field you want to filter for. I recommend a radio button based field. Others weren't tested.
Caution: If you choose to filter for only one/several value(s) and not all and you have additional blocks/content which are based on the same database they also show only filtered content. In my use case this is not a problem. In your use case it could be. To get an impression of what I mean see https://gr-solutions.de , click the links with showStatus in them and watch the right block! Although, you might not understand the language have a look at the colored badges and how they differ when clicking a link with a applied filter.
The last setting is a custom URL variable you can set. Use ?yourVariableName=chosenfilter to create links for filtering content. See link above as example.
You should duplicate the "Category Articles" template (just export and import it again) in the Pages database template section because you have to adapt the pagination template. In the new created template group you should replace in the index template the following line
{template="pagination" app="core" location="global" group="global" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
with
{template="GRcustomDatabaseNavigation" app="core" location="global" group="plugins" params="$url, $pagination['pages'], $pagination['page'], $database->featured_settings['perpage'], TRUE, 'page'"}
This is need because pagination has to get the filter variable, too.
View the full article