I’ll explain two templates where I use TVs heavily.
The first one is a very simple example that I called Pearl, taken from a potential client’s wholly Flash page, complete with annoying flickering and animated outlines and buttons with accompanying beeps and dings
(the client chose to go with somebody who would continue developing the rest of their site in Flash)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=[(etomite_charset)]" />
<title>[(site_name)] ~ [*pagetitle*]</title>
<style type="text/css">
@import url(assets/templates/Pearl/style/pearl.css);
</style>
<!--[if lt IE 7]>
<script type="text/javascript" src="assets/js/ie7-standard-p.js"></script>
<![endif]-->
</head>
<body>
<div id="logo"></div>
<div id="topmenu">[!DropMenu?startDoc=`81` &levelLimit=`1`!]</div>
<div id="main">
<div id="left">
[*pearlMenu*]
</div>
<div id="right">
[*#content*]
</div>
</div> <!-- end body -->
<div id="footer">
[*Footer*]
</div>
</body>
</html>
I thought about my document tree structure, and seeing that I would have four main menu categories with a variable number of items under those, I used the DropMenu call I would want to use for the majority of cases as the default value for the pearlMenu TV:
<div id="leftmenu">
[!DropMenu?startDoc=`[*parent*]`&levelLimit=`1`!]
</div>
Then for each of the four main menu document/folders, I edited the TV to override the default value ( I simply used a textarea for the Input type):
<div id="leftmenu">
[!DropMenu?startDoc=`[*id*]`&levelLimit=`1`!]
</div>
I didn’t need to do anything for the individual items under the main menu, since they would get the default TV value (laziness being one of the three cardinal virtues of the programmer).
You can see the result here:
http://www.alandaniel.co.uk/shells.html