
Drupal 9 Module Development
By :

In a previous section, we exposed our players
and teams
tables to Views, as well as made the team name a possible string filter to limit the resulting players by team. But this was not the best way we could have accomplished this because site builders may not necessarily know all the teams that are in the database, nor their exact names. So, we can create our own ViewsFilter
to turn it into a selection of teams the user can choose from. Kind of like a taxonomy term filter. So, let's see how it's done.
First, we need to alter our data definition for the team name field to change the plugin ID that will be used for the filtering (inside hook_views_data()
):
'filter' => [ 'id' => 'team_filter', ],
Now we just have to create that plugin. And naturally, it goes in the Plugin/views/filter
namespace of our module:
namespace Drupal\sports\Plugin\views\filter; use Drupal\Core\Database\Connection...