>>600
ありがとうございます
この方法で試してみたところ上手くいきました
(key val)が1つの葉で多分木の状態になっています

- base.html

<ul>
{include file="incl.html" root=$root}
</ul>

- incl.html

{if isset($root.key)}
<ul>
 {foreach from=$root item=node}
  {include file="incl.html" root=$node}
 {/foreach}
</ul>
{else}
 <li>{$root.key} - {$root.val}</li>
{/if}

>>601
確かにそちらの方がよさそうですね
恥ずかしながら上のを作っているときに無限ループにはまってしまって
デザイナーがやる仕事ではないと思いましたorz
issetを持ち出している所も、ほとんどPHPのプログラムになっていますし

ただ、予め作ってしまうと上で上げた単純な<ul>を使った方法や
ttp://www.skullysoft.com/soft/ssc-board/bbs/main/c-board.cgi?id=cboard
のようにしたいという場合にテンプレート側のみで出来なくなってしまうので非常に悩んでいます