Inspire of TelaFirma's code and combine with Fancy Cat: Explorer mod, here is my hack:
fancy_categories.tpl
Code:
{* $Id: fancy_categories.tpl,v 1.9.2.8 2005/11/17 12:43:30 ming Exp $ *}
{assign var="rootcounter" value="0"}<SPAN class="VertMenuItems">
{foreach from=$allcategories item="category" key="categoryidx"}
{if $category.depth eq "0"}
{if $fancy_categories_variable_nowrap_categories eq "Y"}<NOBR>{/if}{$category.category|escape}{if $fancy_categories_variable_nowrap_categories eq "Y"}</NOBR>{/if}
{if $category.expanded ne "0" || $fancy_categories_variable_full_js eq "Y"}
{assign var="next_last_in_chain" value=$last_in_chain}
{if $rootcounter eq $allcategoriesroot}
{assign_ext var="next_last_in_chain[]" value="Y"}
{else}
{assign_ext var="next_last_in_chain[]" value="N"}
{/if}
{include file="`$fancycategories_config.modules_path`/fancy_subcategories.tpl" parencategory=$category.categoryid last_in_chain=$next_last_in_chain}
{/if}
{/if}
{/foreach}
</SPAN>
fancy_subcategories.tpl
Code:
{* $Id: fancy_subcategories.tpl,v 1.9.2.7 2005/11/17 12:43:30 ming Exp $ *}
{if $parencategory ne "0"}
{foreach from=$allcategories item="category" key="categoryidx"}
{if $category.categoryid eq $parencategory}
{math equation="x+1" x=$category.depth assign="indent"}
{assign var="rootcounter" value="0"}
{foreach from=$category.childcategoryidx item="chcategory" key="chcategoryidx"}
{math equation="x+1" x=$rootcounter assign="rootcounter"}
{section name=indentsteps loop=$last_in_chain}{/section}
{if $allcategories[$chcategory].subcategory_count gt 0}{if $fancy_categories_variable_nowrap_categories eq "Y"}<NOBR>{/if}{$allcategories[$chcategory].category|escape}{if $fancy_categories_variable_nowrap_categories eq "Y"}</NOBR>{/if}
{else}
{if $fancy_categories_variable_nowrap_categories eq "Y"}<NOBR>{/if}{$allcategories[$chcategory].category|escape}{if $fancy_categories_variable_nowrap_categories eq "Y"}</NOBR>{/if}
{/if}
{if $allcategories[$chcategory].expanded ne "0" || $fancy_categories_variable_full_js eq "Y"}
{assign var="next_last_in_chain" value=$last_in_chain}
{if $rootcounter eq $category.childcategory_number}
{assign_ext var="next_last_in_chain[]" value="Y"}
{else}
{assign_ext var="next_last_in_chain[]" value="N"}
{/if}
{include file="`$fancycategories_config.modules_path`/fancy_subcategories.tpl" parencategory=$allcategories[$chcategory].categoryid last_in_chain=$next_last_in_chain}
{/if}
{/foreach}
{/if}
{/foreach}
{/if}
Note 1: Icon indent does not support.
Note 2: I feel dumb since I modified a bloat-code. It's not innovation...
Note 3: If you'd like to see what it looks like, goto:
http://www.wgdirect.com