Creating category selection trees

You use category selection trees to allow users to personalize menus.

Note:

Taxonomy element form

The main function of the taxonomy element is to display a category selection tree used to allow a user to select categories for menu personalization.

The taxonomy element form example below creates a check box input form:

Element designs

The following code examples are used to develop a basic category selection tree:

Header:

<PathCmpnt end="/[Library]/[Site]/[SiteArea]/[Content]?MOD=AJPECatSelect' method=post> "start="<FORM action='" type="servlet"/> This calls the Category Profile Updater Module.
<input type="hidden" value='<PathCmpnt type="servlet"/>/[Library]/[Site]/[SiteArea]/[Content]' name="redirectURL"> This points to the page to go to after the user request has been processed The element will not render correctly if the path, "[Site area]/[Content]" is not valid.
<input type="hidden" name="updateSourceProfile" value="true"> This line determines how a user's category profile is updated.

The "value" parameter is optional.

True
Permanently updates the user category profile.
False
Updates only the user's session profile.

Unselected element design:

This is used to display unselected items in the rendered category selection tree.

<input type="checkbox" name="selectedCategories"
 value="<Placeholder tag="idnum"/>"/>
<IndentCmpnt offset="0" repeat=".."/>
<Placeholder tag="name"/>
<input type="hidden" name="visibleCategories"
 value="<Placeholder tag="idnum"/>"/>
<br>

Selected element design:

This is used to display selected items in the rendered category selection tree.

<input type="checkbox" checked name="selectedCategories"
 value="<Placeholder tag="idnum"/>"/>
<IndentCmpnt offset="0" repeat=".."/>
<Placeholder tag="name"/>
<input type="hidden" name="visibleCategories"
 value="<Placeholder tag="idnum"/>"/>
<br>

Footer:

The footer contains the submit button.

<input type="submit" value="Set User Categories"></input>
</form>
Note: Indent element

This example uses the indent element tag. This can be used in the navigator and taxonomy elements. This tag represents an HTML/text string that should be repeated depending on the depth of a tree node being rendered in these elements.

In the above taxonomy element example, the indent element is used to render and repeat the "." string dependent on the depth of the node the element design is being applied to. It is possible to offset the repeat value by assigning an integer value to the "offset" attribute of the tag. For example, A current node depth of 5 and an offset value of -2 would render the repeat string three times. If the sum of the offset and the node depth is negative or 0, the repeat string is not rendered.

Note: element designs

The only difference between the unselected element design and the selected element design is that the check box input field in the selected element design has the "checked" attribute set.

Note: User access

If using a taxonomy element, users must be given "Edit" access to their own user item to enable them to update their selected categories.

Note: Using a URL to update user categories

You can use a URL as an alternative to using a category selection tree to update a user's selected categories:

http://host:port/wcm/connect/Site/SiteArea/SelectPage?MOD=AJPECatSelect
&redirectURL=/wcm/connect/Site/SiteArea/Content&updateSourceProfile=false
&selectedCategories=categoryID1,categoryID3
&visibleCategories=categoryID1,categoryID2,categoryID3,categoryID4

The "selectedCategories" and "visibleCategories" parameters have multiple values which are comma delimited. The categories specified in "selectCategories" should be a subset of "visibleCategories".

This URL could be used on a page in the form of a button to allow users to update their user categories. For example, You could create a button that would add the category "News" to a user's selected categories list.