MTOutliner

This container tag must is used to create a container which will encompass all of the other content that you wish to display. You will use it similar to an MTEntries block, and make use of other tags inside to display other content. You must add one of three attributes to the container to indicate how to retrieve your data: bloglines, opmllink or opmlpath.

The first option, bloglines, accepts a Bloglines user ID which can be used to pull your public subscription data from your Bloglines account. The second option, opmllink, can be used to specify a URL to an OPML file accessible somewhere online. The third and final option, opmlpath, can be used to provide a filesystem path to an OPML file.

You can specify all three options, but the bloglines attribute will take priority over opmllink, which will in turn take priority over opmlpath. So there is really no reason to do so! You will only make more work for yourself. Decide which format to use and specify that option only.

MTOutlinerBloglines
MTOutlinerDataSource
MTOutlinerDateCreated
MTOutlinerDateModified
MTOutlinerOPMLVersion
MTOutlinerOwnerName
MTOutlinerOwnerEmail
MTOutlinerTitle
MTOutlinerXMLVersion

Each of these template tags can be used to specify document-level information - in other words, information that is provided at the top-level of the OPML file, prior to the iterations of the items contained within the OPML file. Due to the variances within OPML files, some documents may not contain values for each of these fields.

MTOutlinerFolders

This container tag must be used inside of the MTOutliner container. It is used to create a loop among the folders contained within your OPML file. If your OPML file does not contain any folders, you may simply omit this tag. This tag accepts one attribute, folders. You should use this attribute to select the content which will display within this container. To display a single folder, list its name. To display more than one folder, separate the names of the folders, separated by colons.

MTOutlinerFolderIfItems
MTOutlinerFolderIfNoItems
MTOutlinerFolderIfSubs
MTOutlinerFolderIfNoSubs

These four conditional tags can be used to control the output that you display by putting content within them.

MTOutlinerFolderText
MTOutlinerFolderItemCount
MTOutlinerFolderSubsCount

These template tags should be used to display folder-level data.

MTOutlinerItems

This container tag may be used inside of the MTOutliner container (if there are no folders) or inside of the MTOutlinerFolders container (if there are folders). It is used to create a loop among the individual items contained within your OPML file. This tag accepts one attribute, sorted. If this attribute is not included, items are listed in the order that they are listed in the file. If the value of this attribute is set to case, the items are sorted by case. If the value is set to nocase, the items are sorted, but the case is ignored (that is, you will get both capital and lowercase letters sorted together, but in alphabetical order). If your text (or title) field begins with a special character, the sort order may not be what you expect.

MTOutlinerItemText
MTOutlinerItemDesc
MTOutlinerItemHTML
MTOutlinerItemXML

These template tags should be used to display item-level data.

MTOutlinerRecurse

This special template tag is used to repeat the template structure on each successive level of iteration. So if you have multiple levels of folders nested within one another, this tag will repeat the construction upon them. This is simlar in behavior to the MTSubCatsRecurse tag, explained well at Learning Movable Type in Understanding the Category Listing Code.

Putting it all Together

Your template might look something like:

<div class="module">
<h2 class="module-header">Blogroll</h2>
<div class="module-content">
<MTOutliner bloglines="myuserid">
<ul>
<MTOutlinerFolders>
<li><$MTOutlinerFolderText$>
<ul>
<MTOutlinerItems>
<li><a href="<$MTOutlinerItemHTML$>"><$MTOutlinerItemText$></a></li>
<MTOutlinerItems>
</ul>
</li>
</MTOutlinerFolders>
</ul>
</MTOutliner>
</div>
</div>
                              

This is a relatively simple construct that will loop through your folders and list the items contained within, along with the links to the sites contained within those items. You can of course make this about as complex as you like, including making use of the MTOutlinerRecurse tag to make it work for multiple levels of folders contained within the OPML file. Enjoy!