TvTagCloud 2.1.1
Displays a tag cloud or list based on the tags stored in a template variable for each document.
Submitted: Jul 27th 2007 | License: GPL - GNU Public | Downloads: 942
Description
TvTagCloud allows you to display your doument tags in a tag cloud or as an unordered list. When a user clicks on a tag it links them to a page displaying all documents containing the clicked tag.
This snippet requires the latest version of Ditto to function correctly.
Parameters:
- parent - folder that contains the documents which are to be counted (can take multiple parents, separate with commas)
- depth - the number of levels we should search for child documents (like Ditto)
- days - the number of days to look back over to find tags (based on pub_date), 0 for all
- min - minimum number of tag occurances for tag to show, 0 for all
- sort - how should the results be ordered? By default they will be sorted by document ID. Values can be "asc", "desc" or "random"
- landing - id of document to display ditto listings
- tvTags - the template variable that has the tags
- tagDelim - delimiter between tags in tvar
- displayType - [cloud | list] output as a tag cloud or an unordered list
- showCount - if you want the number of occurances to be displayed set to 1
- caseSensitive - if you want tag duplicate removal to be case sensitive set to 1
- steps - comma separated list of the numeric intervals to determine the size of the tag class (i.e. how many times must a tag appear before it increases in size)
- styles - comma separated list of class names that will be applied to each of the size intervals in "steps"
- tooltip - Template for the tooltip that will appear as the title attribute for each tag link. Takes placeholders +count+ and +tag+ which will be replaced with appropriate values
Instructions
First thing you need to do is add a new template variable to the template you use for your documents. For this example I named mine docTags. Then go into each document and add some tags i.e. modx,snippet,ajax.
Next you need to setup the snippet call. Add the following snippet call to your page where you want to display the tag cloud:
[!TvTagCloud? &parent=`1` &landing=`22` &tvTags=`docTags` &showCount=`1`!]
To create the landing page that will display the pages when a tag is clicked create a new document with the following Ditto call:
[!Ditto? &parents=`1` &tagData=`docTags` &tagDelimiter=`,`!]
Updates
* can be supplied with more than one parent document (comma separated list of parents)
* can use tags from more than immediate children of the supplied parent (in fact now has a depth parameter like Ditto)
* can retrieve tags from documents only published within the last X days
* can sort the tag output alphabetically (or backwards, or random)
* output step intervals can be specified as parameters to the snippet (not hard coded anymore)
* output step classes can be specified as parameters to the snippet (not hard coded anymore)
* tooltip (title tag) now added to each tag link (usability and SEO benefits) -- this is fully templatable via snippet parameter
* lots of code refactoring and (hopefully) improvements