Taxonomy Custom Controller
139 sites
Security covered
Drupal 9–11
This module allows you to customize taxonomy term pages. You can alter the content of these pages for specific vocabularies or terms by subscribing to events and writing custom code.
The Taxonomy Custom Controller module is a default Taxonomy Term entity canonical controller override with event.
It will help you to subscribe to event and change content of term page. You can change it for specific vocabularies, or specific term with conditions you want!
USAGE
Simple example:
/**
* Provides subscriber for term page build.
*/
class TermPageBuildSubscriber implements EventSubscriberInterface {
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents() {
return [
TaxonomyCustomControllerEvents::PAGE_BUILD => 'onTermPageBuild',
];
}
/**
* Reacts on term page build.
*
* @param \Drupal\taxonomy_custom_controller\Event\TermPageBuildEvent $event
* The event.
*/
public function onTermPageBuild(TermPageBuildEvent $event) {
$taxonomy_term = $event->getTaxonomyTerm();
if ($taxonomy_term->bundle() != 'tags') {
return;
}
// Adds term description on top of the default views.
$build = [];
if (!$taxonomy_term->get('description')->isEmpty()) {
$build['description'] = [
'#type' => 'container',
'#attributes' => [
'class' => ['wrapper-for-custom-added-description'],
],
'description' => $taxonomy_term->get('description')->view(),
];
}
$build['view'] = views_embed_view('taxonomy_term', 'page_1', $taxonomy_term->id());
$event->setBuildArray($build);
}
}
See taxonomy_custom_controller_example module for full example.
SIMILAR PROJECTS
- TVI — does the same thing. The main difference. With TVI you can use only Views and configure it via UI. With TCC you can do whatever you want, but you need to write Event Subscriber.
Depends on
Dependencies of the latest stable release
- taxonomy Drupal core
- views Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 8.x-1.6 | Stable | 9–11 | Drupal 11 compatibility | Jan 28, 2025 |