Creative Ways To Use Subcategories

Create a “Breadcrumb” Trail In Movable Type Using Subcategories

Quandary: Someone clicks on a subcategory archive, but it looks just like every other category page. How can we give the user a better sense of context for the subcategory pages?

Solution: Breadcrumbs! You know, they look like: Category » Subcategory , with links that let us get around a complex hierarchy pretty easily. Put this code where your category title gets displayed:

<mt:HasParentCategory>
    <mt:ParentCategories exclude_current="1">
        <a href="<mt:CategoryArchiveLink/>"><mt:CategoryLabel /></a>
    </mt:ParentCategories>  »
</mt:HasParentCategory>
<mt:ArchiveTitle />

Essentially, we check to see if the category page we’re on has a parent. If it does, we append the title with that parent category name (exclude_current hides the subcategory we’re in) and link so the user can jump back pretty quickly.

Display Subcategories As A Menu On A Category Archive Page

Quandary: You got several categories with subcategories, and you’d like to show these subcategories as a menu on the parent category archive page.

Solution: This is a little tricky because all subcategories are categories too. So you have to think more in terms of relationships to tackle this one. Here’s the code:

<mt:HasSubCategories>
    <ul>
    <mt:SubCategories>
        <li><a href="<mt:CategoryArchiveLink/>"><mt:CategoryLabel /></a></li>
    </mt:SubCategories>
    </ul>
</mt:HasSubCategories>

<mt:HasParentCategory>
    <mt:ParentCategories exclude_current="1">
        <mt:HasSubCategories>
            <ul>
            <mt:SubCategories>
                <li><a href="<mt:CategoryArchiveLink />"><mt:CategoryLabel /></a></li>
            </mt:SubCategories>
            </ul>
        </mt:HasSubCategories>
    </mt:ParentCategories>
</mt:HasParentCategory>

The first chunk says, “If this category has subcategories (children), then run through the list of them and create a menu.” This part targets the parent category pages, because they have children.

The second chunk is similar, but it’s meant for the subcategory pages themselves. This code says, “If this category has a parent category, then give us a list of subcategories (children) that belong to that parent and make a menu.” Since Movable Type doesn’t have any type of sibling tags, we have to go back to a parent if it exists and then display that parent’s children (those are the siblings).

  • posted on 9 September 2007
  • by Jesse


(Minutia)

  • Author:
    Jesse
  • Published:
    Sep 9, 2007
  • Chapters:

GetUpdated

ElseWhere

Find me on aim Find me on delicious Find me on digg Find me on dopplr Find me on facebook Find me on lastfm Find me on linkedin Find me on livejournal Find me on msn Find me on pownce Find me on skype Find me on technorati Find me on twitter Find me on vox Find me on yahoo Find me on youtube