| TWiki . TWiki . TWikiTemplates | 
&TWiki::Store::readTemplate() so that the caller simply gets an expanded template file (the same as before).
%TMPL:<key>% and %TMPL:<key>{"attr"}%.
%TMPL:INCLUDE{"file"}%: Includes a template file. The usual search path is applied.
%TMPL:DEF{"var"}%: Define a variable. Text between this and the END directive is not returned, but put into a hash for later use.
%TMPL:END%: Ends variable definition.
%TMPL:P{"var"}%: Prints a previously defined variable.
twiki.tmpl, like twiki.print.tmpl, that redefines the header and footer.
oopsbase.tmpl and a example oops dialog oopstest.tmpl which is based on the base template. NOTE: This isn't the release version, just a quick, simple demo.
%TMPL:P{"sep"}%
NOTE: Added a dot to escape rendering of variables, i.e. read %.WEB% as %WEB%.
<table border="1" cellspacing="0" cellpadding="1">
<tr><td>
<verbatim>
%.TMPL:DEF{"sep"}% | %.TMPL:END%
<html>
<head>
  <title> %.WIKITOOLNAME% . %.WEB% . %.TOPIC% %.TMPL:P{"titleaction"}%</title>
  <base href="%.SCRIPTURL%/view%.SCRIPTSUFFIX%/%.WEB%/%.TOPIC%">
  <meta name="robots" content="noindex">
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr>
    <td bgcolor="%.WEBBGCOLOR%" rowspan="2" valign="top" width="1%">
      <a href="%.WIKIHOMEURL%">
      <img src="%.PUBURLPATH%/wikiHome.gif" border="0"></a>
    </td>
    <td>
      <b>%.WIKITOOLNAME% . %.WEB% . </b><font size="+2">
      <B>%.TOPIC%</b> %.TMPL:P{"titleaction"}%</font>
    </td>
  </tr>
  <tr bgcolor="%.WEBBGCOLOR%">
    <td colspan="2">
      %.TMPL:P{"webaction"}%
    </td>
  </tr>
</table>
--- ++ %.TMPL:P{"heading"}%
%.TMPL:P{"message"}%
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr bgcolor="%.WEBBGCOLOR%">
    <td valign="top">
      Topic <b>TWikiTemplates</b> . {
        %.TMPL:P{"topicaction"}%
      }
    </td>
  </tr>
</table>
</body>
</verbatim>
</td></tr>
</table >
%.TMPL:DEF{"titleaction"}% (test =titleaction=) %.TMPL:END% %.TMPL:DEF{"webaction"}% test =webaction= %.TMPL:END% %.TMPL:DEF{"heading"}% Test heading %.TMPL:END% %.TMPL:DEF{"message"}% Test =message=. Blah blah blah blah blah blah blah blah blah blah blah... * Some more blah blah blah blah blah blah blah blah blah blah... * Param1: %PARAM1% * Param2: %PARAM2% * Param3: %PARAM3% * Param4: %PARAM4% %.TMPL:END% %.TMPL:DEF{"topicaction"}% Test =topicaction=: [[%.WEB%.%TOPIC%][OK]] %.TMPL:P{"sep"}% [[%.TWIKIWEB%.TWikiRegistration][Register]] %.TMPL:END% %.TMPL:INCLUDE{"oopsbase"}%
.../bin/oops/Test/TestTopic2?template=oopstest¶m1=WebHome¶m2=WebNotify
All common template parts are defined in one master template,

twiki.tmpl, that all other templates include.
| Template variable: | Defines: | 
|---|---|
| %TMPL:DEF{"sep"}% | "|" separator | 
| %TMPL:DEF{"htmldoctype"}% | Start of all HTML pages | 
| %TMPL:DEF{"standardheader"}% | Standard header (ex: view, index, seach) | 
| %TMPL:DEF{"simpleheader"}% | Simple header with reduced links (ex: edit, attach, oops) | 
| %TMPL:DEF{"standardfooter"}% | Footer, excluding revision and copyright parts | 
| %TMPL:DEF{"oops"}% | Skeleton of oops dialog | 
Example:preview.tmpltemplate%TMPL:INCLUDE{"twiki"}% %TMPL:DEF{"titleaction"}% (oops) %TMPL:END% %TMPL:DEF{"webaction"}% *Attention* %TMPL:END% %TMPL:DEF{"heading"}% Topic is not saved yet %TMPL:END% %TMPL:DEF{"message"}% Please go back in your browser and save the topic. %TMPL:END% %TMPL:DEF{"topicaction"}% %TMPL:END% %TMPL:P{"oops"}%
.tmpl filename extension - it contains unresolved %VARIABLES%, but can still  be previewed directly in a browser.
| -----Revision r1.4 - 12 Sep 2001 - 06:49 GMT - MikeMannix |