Taxonomy Edge optimizes tree functions for taxonomies. It provides a transitive closure table data model for easily managing hierarchical terms. It was created to avoid recursive functions when fetching all children, and to avoid the not-quite-so-scalable memory footprint of taxonomy_get_tree().
The provided patch contains overrides for the core module Taxonomy in regards to taxonomy_get_tree() and taxonomy_select_nodes().
Dependencies
- Taxonomy
Views
The included module Views Taxonomy Edge supports the "all" depth modifier, while optimizing tree queries. The core patch is not needed for the optimization of taxonomies in views.
Developer
Example of getting all children from tid:14
SELECT tid FROM {taxonomy_term_edge} WHERE parent = 14
Example of getting all nodes from tid:14 and below
D6:
SELECT DISTINCT n.nid
FROM node n
JOIN term_node tn ON tn.nid = n.nid
JOIN term_edge e ON e.tid = tn.tid
WHERE e.parent = 14
D7:
SELECT DISTINCT n.nid
FROM node n
JOIN taxonomy_index ti ON ti.nid = n.nid
JOIN taxonomy_term_edge e ON e.tid = ti.tid
WHERE e.parent = 14
Sponsors
Project information
- Seeking new maintainer
The current maintainers are looking for new people to take ownership. - Maintenance fixes only
Considered feature-complete by its maintainers. - Module categories: Developer Tools, Performance, Site Structure
- 125 sites report using this module
- Created by gielfeldt on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
Development version: 7.x-1.x-dev updated 27 Aug 2014 at 03:23 UTC