Templates
Contents
Wiki Template System[edit | edit source]
See the handbook for full details; the local Help:Templates article covers essentials as does the Quick Guide on meta See wp:Wikipedia:Template_messages for info about the templates used in the wikipedia project.
Templates are a system for streamlining the data entry and display formatting of article content.
Types and Examples[edit | edit source]
Presentation and Data Entry[edit | edit source]
A simple example of this is the Wikipedia article on the rock band 'U2'. This article and all Wikipedia articles about musical groups use a "Infobox musical artist" template so authors can record the basics about the musical artist: Band name, discography, genre, albums etc., AND that information can be systematically formatted for display in the article.
Functional Templates[edit | edit source]
Templates can also be used to include functionality in a page. An example of this is to mark a page, or link to another application systematically based on either a variable, or a "magic word" like PAGENAME More on MediaWiki variables is at meta:Help:Variable
Static Templates[edit | edit source]
Templates can also be used to include static content on a page (kind of like a keyword macro). This is useful when you want to mark a bunch of pages with some common message content, e.g. 'obsolete', 'stub', 'needs attention' etc.; or perhaps you have a collection of articles that you want to apply a common resource box or navigation to.
Using Templates[edit | edit source]
- (optional) create a new page
- insert the template marker in the page content e.g.
{{my footer}} would use the 'my footer' template on a page
- (optional) save and re-edit the page as needed to fill out a data entry template
Templates that are data entry templates (having multiple parameters) will have (by convention) a 'noinclude' section found in the template that gives an example which makes it a simple matter of copy and paste to begin using that template.
Available Templates[edit | edit source]
See all templates in the prefix index (choose the 'Template' namespace in the select box, then press 'Go')
See also[edit | edit source]
The "transclusion" idea is similar (and shares the same basic syntax) allowing you to include other article content by inclusion.
Office Templates[edit | edit source]
See LibreOffice
Programming with Template Systems[edit | edit source]
There are many templating systems in use throughout technology platforms. In fact, any server-side processing technology like PHP offers a built-in notion of templating for separating your display from your business logic and your data using 'includes'. Carried further, there are major templating sub-systems, template libraries, and/or programming frameworks that utilize a particular templating strategy.
Smarty[edit | edit source]
For PHP programmers, one of the oldest and well-known template systems (aside from building your own using includes) is the Smarty system. For a quick overview, see wp:Smarty There is also a crash course on the Smarty website in addition to the documentation
Smarty in CiviCRM[edit | edit source]
As of Feb. 2016, Civi uses Smarty v2
Something like this little one-liner can help to generate your Smarty captures if you have a long list of custom variables
php -r 'include ("/var/www/equality-tech.com/www/drupal/sites/all/modules/custom/eqt/eqt.module"); $stack="stats"; $vars = getHaystack($stack); foreach ($vars as $k=>$v) {print "{capture assign=$k}{{$stack}.$k}{/capture}\n";};';
Drupal[edit | edit source]
Offers a choice of template systems
Django[edit | edit source]
Uses the Django Template system