VisualForce Tag Cloud Component
Furthermore, wouldn’t it be great if this solution were dynamic, thus enabling you to create tag clouds specific to a particular application context?. Rhetorical question, of course it would be. To this end I’ve created a component that utilises a controller, mostly dynamic in nature.
To start with, let’s have a look at the component code
<apex:component controller="TagCloudController"> <apex:attribute name="objectName" assignTo="{!objectName}" type="String" Default="SkillCandidate__c" Description="name of the object" required="true"/> <apex:attribute name="objectField" assignTo="{!objectField}" type="String" Default="name" Description="name of the object field that you want to use in the tag cloud" required="true"/> <apex:attribute name="width" type="String" description="The width of the tag cloud as a % or px" default="39%"/> <apex:attribute name="float" type="String" description="Which direction to float the component" default="right"/> <style> .tagcloud{ width: {!width}; text-align: justify; float: {!float}; padding: 10px 30px 10px 10px; margin: 0px; } .tagcloud li{ display: inline; margin-left: 3px; } .size1{ font-size:8px; } .size2{ font-size:12px; } .size3{ font-size:18px; } .size4{ font-size:28px; } .size5{ font-size:39px; } .tagcloud SPAN { position: absolute; left: -999px; width: 990px; } </style> <h2>Tag Cloud </h2> <ol> <apex:repeat value="{!tags}" var="tag"> <li><a href="{!$Page.SomePageName}?object={!objectLabel}&keywords={!tag.encodedName}">{!tag.name}</a></li> </apex:repeat> </ol> </apex:component>
any way you could share your controller code on this? Im trying to do the same thing but I cant seem to stop punching myself in the face with my keyboard… which isnt helping me by the way… Thanks!
Charles Rowland
August 4, 2010 at 7:57 pm
I don’t have access to this code anymore, and I think I’d probably do it differently now. If you post your issue to the developer forums and link back here I’ll have a look at it for you 🙂
Wes
August 5, 2010 at 10:03 am