On this page:
TWiki TemplatesDefinition of the templates used to render all HTML pages displayed in TWikiOverviewThe new modular template system offers flexible, easy control over the layout of all TWiki pages. The master template approach groups parts that are shared by several templates - like headers and footers - in a common file. Special variables allow individual layouts to include parts from a master template - variables are mixed with regular HTML mark-up for template-specific content. Templates are used to define page layout, and also to supplydefault content for new pages.Major changes from the previous template systemWhere the old templates were each complete HTML documents, the new templates are defined using variables to include template parts from a master file. You can now change one instance of a common element to update all occurrences; previously, every affected template had to be updated. This simplifies the conversion of templates into XHTML format, and provides a more versatile solution for templates and for TWikiSkins. The new system:
Functional Specifications
TWiki Master TemplateAll common parts are defined in a master template,twiki.tmpl , that all other templates use.
Types of TemplateThere are two types of templates:
HTML Page TemplatesTWiki uses HTML template files for all actions like topic view, edit, preview and so on. This allows you to change the look and feel of all pages by editing just some template files. The template files are in thetwiki/templates directory. As an example, twiki/templates/view.tmpl is the template file for the twiki/bin/view script. Templates can be overloaded per web. The following search order applies:
$webName is the name of the web (ex: Main ), and $scriptName is the script (ex: view ).
Note: TWikiSkins can be defined to overload the standard templates.
Special variables are used in templates, especially in view , to display meta data.
Template TopicsTemplate topics define the default text for new topics. There are three types of template topics:All template topics are located in the TWiki web. The WebTopicEditTemplate can be overloaded. The following search order applies when you create a new topic:
Template Topics in ActionHere is an example for creating new topics based on a specific template topic: Above form asks for a topic name. A hidden input tag of name "templatetopic" specifies the ExampleTopicTemplate as the template topic. Here is the HTML source of the form:<form name="new" action="%SCRIPTURLPATH%/edit%SCRIPTSUFFIX%/%WEB%/"> * New example topic: <input type="text" name="topic" value="ExampleTopic%SERVERTIME{$yearx$mox$day}%" size="23" /> <input type="hidden" name="templatetopic" value="ExampleTopicTemplate" /> <input type="hidden" name="onlywikiname" value="on" /> <input type="submit" value="Create" /> (date format is <nop>YYYYxMMxDD) </form>The "onlywikiname" parameter enforces WikiWords for topic names. Note: Use can use the %WIKIUSERNAME% and %DATE% variables in your topic templates as the signature; those variables are expanded when a new topic is created. The standard topic signature is: -- %WIKIUSERNAME% - %DATE%
Templates by ExampleAttached is an example of an oops base templateoopsbase.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.
Base template oopsbase.tmplThe first line declares the delimiter variable called "sep", used to separate multiple link items. The variable can be called anywhere by writing%TMPL:P{"sep"}%
Test template oopstest.tmplEach oops template basically just defines some variables and includes the base template that does the layout work. | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < | With URL: .../bin/oops/Test/TestTopic2?template=oopstest¶m1=WebHome¶m2=WebNotify | |||||||||||||||||||||||||
> > | With URL: .../bin/oops/Sandbox/TestTopic2?template=oopstest¶m1=WebHome¶m2=WebNotify | |||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
Known Issues
-- MikeMannix - 14 Sep 2001 | ||||||||||||||||||||||||||
Changed: | ||||||||||||||||||||||||||
< < |
| |||||||||||||||||||||||||
> > |
| |||||||||||||||||||||||||
|