Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

vocabulary_catalog

5 sites No security coverage
View on drupal.org

The Vocabulary Catalog is a taxonomy display suite for Drupal 10 and 11. It provides a highly configurable block system to display vocabularies and their terms with real-time entity reference counts, supporting everything from standard Nodes to Media, Commerce Products, and custom entities.

Key Features

  • Universal Entity Counting: Go beyond nodes. Count references from Media, Commerce, Users, or any entity type using entity_reference fields.
  • Multi-Layout Engine: Switch between Vertical Lists, Responsive Card Grids, Collapsible Accordions, or Horizontal Tabs with a single click.
  • Granular Filtering: Filter counts by specific content bundles (e.g., only count "Article" nodes) and hide terms that fall below a minimum count threshold.
  • Advanced Tree Logic: Support for deep nesting with configurable max-depth limits, weight-based sorting, and alphabetical or count-based ordering.
  • Interactive Toolset: Integrated AJAX live search for instant client-side filtering and one-click CSV exporting for data analysis.
  • Developer Friendly: Full REST API support, comprehensive Twig theme suggestions, and CSS Custom Properties (Variables) for easy styling.

Installation

Install the module via Composer to automatically manage dependencies and library definitions:

composer require drupal/vocabulary_catalog

Enable the module using Drush:

drush en vocabulary_catalog -y

Configuration & Usage

  1. Placement: Navigate to Structure » Block Layout and place the "Vocabulary Catalog" block in your desired region.
  2. Selection: Choose the vocabularies you wish to display. The block supports multiple vocabularies simultaneously.
  3. Entity Settings: Under the Entity Counting tab, select the entity types you want to track. If selecting "Node," you can further refine the count by Content Type.
  4. Permissions: Manage access at People » Permissions:
    • Administer vocabulary catalog: Configure block settings.
    • Export vocabulary catalog: Download CSV data.
    • View unpublished vocabulary catalog terms: Visibility of status = 0 terms.

Architecture & Performance

The module is engineered for high-performance enterprise environments where taxonomy trees can scale to thousands of terms:

  • Smart Cache Invalidation: Uses a sophisticated cache tag system (vocabulary_catalog_counts and taxonomy_term_list:[VID]) to ensure data is only recalculated when terms or referenced entities change.
  • Optimized Queries: Utilizes the taxonomy_index for high-speed node counting, falling back to optimized Entity Queries for non-core entity types like Media or Commerce.
  • Decoupled Ready: The REST API endpoint allows you to pull the entire catalog structure into headless applications (React/Next.js) with clean, markup-free JSON.

Theming & Customization

The module provides granular template suggestions and CSS variables for seamless integration:

  • Twig Templates: Override the base layout using vocabulary-catalog-block--[block-id].html.twig.
  • CSS Variables: Customize the visual identity without writing complex overrides:
    :root {
      --vc-color-primary: #007bff;
      --vc-color-badge-bg: #e9ecef;
      --vc-radius: 8px;
    }

REST API Endpoint

Access the catalog data programmatically via the following route:

GET /api/vocabulary-catalog/{block_id}?vocabularies=tags,categories

The API supports filtering by min_count, max_depth, and sort_by parameters, returning a structured JSON tree of terms and metadata.

Similar Projects

  • Facets: Ideal for search-driven filtering, whereas Vocabulary Catalog is designed for dedicated navigation and landing pages.
  • Taxonomy Menu: Converts vocabularies into Drupal Menu items; our module offers deeper entity-counting logic and modern AJAX filtering.
  • Term Condition: Provides visibility controls, while Vocabulary Catalog focuses on visual presentation.

Support & Contribution

If you encounter bugs, need assistance with complex entity reference setups, or have ideas for new layouts—such as a "Masonry" grid or "Tag Cloud" view—please contribute to the official issue queue.

Activity

Total releases
2
First release
Feb 2026
Latest release
1 month ago
Release cadence
0 days
Stability
50% stable

Releases

Version Type Release date
2.0.0 Stable Feb 20, 2026
2.0.x-dev Dev Feb 20, 2026