<@6> <@local(ps,name,root,myself,tagmode,num,max_depth)> <@> <$name = argv#0> <$root = argv#1> <$tagmode = argv#2> <$ifset(tagmode, myself, "<@v.myself>?&t=", v.myself2)> <$ps = v.load_plgset(name)> <$num= v.plugin_num(name)> <$max_depth = (ps.depth || 3)-1> <@> <@>--------------------------------------------------------------------- <@>再帰サブルーチン <@>--------------------------------------------------------------------- <$sub = begin.function> <@local(t, p, node, tree, depth, link)> <$node = argv#0> <$tree = node.children || array()> <$depth = argv#1><@>prefix <$p = "\t" %x depth> <@p>> <@forexec(t, tree, begin.forexec)> <$ifexec(tagmode, begin, begin)> <$link = encode_uricom(link = t.name)> <$else> <$link = t.elink_key)> <@> / で始まるlink_keyに link_key_encode() での細工した先頭 ./ を除去する <$ifset(substr(link,0,2) eq './', link, substr(link,2))> <$end> <$ifnext(t.tstat & v.tstat_nomenu)> <@ifexec(t.children && depth <@p>
  • <@link>")>"><@if(tagmode, t.sname, t.title)> <@exec(sub, t, depth+1)> <@p>
  • <$else> <@p>
  • <@\> <@link>")>"><@if(tagmode, t.sname, t.title)>
  • <$end> <$end.forexec> <@p> <$end.function> <@>--------------------------------------------------------------------- <@> コンテンツリスト <@>--------------------------------------------------------------------- <$tree = argv#1> <@ifexec(root, begin)> <@exec(sub, root, 0)> <$end>