BigTree allows you to loosely relate content through its tagging system. By default, Tags are enabled for pages but must be explicitly enabled for each module form. You will see an "Enable Tagging" checkbox when creating / editing your Module Forms. You can also turn off tagging for Pages via a default Setting titled "Disable Tagging in Pages".

After enabling tagging, you will see an area similar to the screenshot below at the bottom of your form or Content tab in Pages:


To add a tag, simply begin typing in the tags box. If any similar tags are found, they will begin being filled in a dropdown below the box. You can select the similar tags either by clicking on them with your mouse or using the keyboard (hitting the down and up arrows will move through the tags, hitting enter on a selected tag will use it). If no similar tag appears, simply hit enter when you're done typing in your tag and it will be added to the main tag database. Submitting your form will then save that tag relationship to your module entry or page.

Pulling Related Content By Tag

To retrieve the tags for the current page you're on, call $cms->getTagsForPage($bigtree["page"]). That will retreive an array of tags from bigtree_tags complete with their URL route, tag name, and metaphone (their phonetic pronunciation code). To get tags for module data, run the module class' getTagsForItem method and pass in a module entry you want the tags for.

If you want to pull related pages by a list of tags, call $cms->getRelatedPagesByTags($tags_array) where $tags_array is an array of tags. This can either be an array you retrieved by the getTagsForPage or getTagsForItem methods (in BigTree 4.1+) or an array of strings (i.e. array("dogs","cats"), works in all versions). Similarly, you can call your module class' getRelatedByTags method to pull module content by tags. The results that are most similar (based on number of tags matched) will be returned first.