
On this page:
TWiki TemplatesDefinition of the templates used to render all HTML pages displayed in TWikiOverview | ||||||||
| Changed: | ||||||||
| < < | The 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. | |||||||
| > > | The 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 markup for template-specific content. Templates are used to define page layout, and also to supply default 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:
| ||||||||
| Changed: | ||||||||
| < < | Functional Specifications | |||||||
| > > | How Template Variables Work | |||||||
| ||||||||
| Deleted: | ||||||||
| < < |
| |||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| Added: | ||||||||
| > > |
| |||||||
| Changed: | ||||||||
| < < | TWiki Master Template | |||||||
| > > | Types of Template | |||||||
| Changed: | ||||||||
| < < | All common parts are defined in a master template, twiki.tmpl, that all other templates use. | |||||||
| > > | There are three types of template: | |||||||
| Added: | ||||||||
| > > |
Master TemplatesCommon parts, appearing in two or more templates, can be defined in a master template and then shared by others:twiki.tmpl is the default master template. | |||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Deleted: | ||||||||
| < < | Types of TemplateThere are two types of templates:
| |||||||
HTML Page Templates | ||||||||
| Changed: | ||||||||
| < < | TWiki 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. | |||||||
| > > | TWiki uses HTML template files for all actions, like topic view, edit, and preview. This allows you to change the look and feel of all pages by editing just a few template files. | |||||||
| Changed: | ||||||||
| < < | The template files are in the twiki/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: | |||||||
| > > | Templates are in the twiki/templates directory. As an example, twiki/templates/view.tmpl is the template file for the twiki/bin/view script. Templates can be overloaded by individual webs. The following search order applies: | |||||||
| ||||||||
| Added: | ||||||||
| > > |
| |||||||
| Changed: | ||||||||
| < < | Note: $webName is the name of the web (ex: Main), and $scriptName is the script (ex: view). | |||||||
| > > | ||||||||
| Deleted: | ||||||||
| < < | Note: TWikiSkins can be defined to overload the standard templates. | |||||||
Special variables are used in templates, especially in view, to display meta data.
Template Topics | ||||||||
| Changed: | ||||||||
| < < | Template topics define the default text for new topics. There are three types of template topics: | |||||||
| > > | Template topics define the default text for new topics. There are three types of template topic: | |||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Changed: | ||||||||
| < < | 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: | |||||||
| > > | All template topics are located in the TWiki web. The WebTopicEditTemplate can be overloaded. When you create a new topic, TWiki locates a topic to use as a content template according to the following search order: | |||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
Template Topics in ActionHere is an example for creating new topics based on a specific template topic: | ||||||||
| Changed: | ||||||||
| < < | 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: | |||||||
| > > | The above form asks for a topic name. A hidden input tag named templatetopic specifies ExampleTopicTemplate as the template topic to use. 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>
| ||||||||
| Changed: | ||||||||
| < < | The "onlywikiname" parameter enforces WikiWords for topic names. | |||||||
| > > | The onlywikiname parameter enforces WikiWords for topic names. | |||||||
| Changed: | ||||||||
| < < | 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% | |||||||
| > > | %WIKIUSERNAME% and %DATE% variables in your topic templates to include the signature of the person creating a new topic. The variables are expanded into fixed text when a new topic is created. The standard signature is: | |||||||
| Added: | ||||||||
| > > | -- %WIKIUSERNAME% - %DATE% | |||||||
Templates by Example | ||||||||
| Changed: | ||||||||
| < < | Attached is an example of an oops base template 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. | |||||||
| > > | Attached is an example of an oops based template oopsbase.tmpl and an example oops dialog oopstest.tmpl based on the base template. %A% NOTE: This isn't the release version, just a quick, simple demo. | |||||||
Base template oopsbase.tmpl | ||||||||
| Changed: | ||||||||
| < < | The 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"}% | |||||||
| > > | The first line declares a 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: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
Known Issues | ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
|
-- PeterThoeny - 23 Jul 2001 | ||||||||
| Changed: | ||||||||
| < < | -- MikeMannix - 14 Sep 2001 | |||||||
| > > | -- MikeMannix - 14 Sep 2001 | |||||||
| Added: | ||||||||
| > > | -- TWiki:Main/DavidLeBlanc | |||||||
| ||||||||