Difference between revisions of "Templates"
m (resize image) |
(adds a little one-liner for printing out your capture lines if you already have an array of your custom values.) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | ==Wiki Template System== | + | == Wiki Template System == |
See the [[meta:Help:Template|handbook]] for full details; the local [[Help:Templates]] article covers essentials as does the [[meta:Help:A_quick_guide_to_templates|Quick Guide]] on meta | See the [[meta:Help:Template|handbook]] for full details; the local [[Help:Templates]] article covers essentials as does the [[meta:Help:A_quick_guide_to_templates|Quick Guide]] on meta | ||
See [[wp:Wikipedia:Template_messages]] for info about the templates used in the wikipedia project. | See [[wp:Wikipedia:Template_messages]] for info about the templates used in the wikipedia project. | ||
Line 5: | Line 5: | ||
Templates are a system for streamlining the data entry and display formatting of article content. | Templates are a system for streamlining the data entry and display formatting of article content. | ||
− | + | === Types and Examples === | |
− | + | ==== Presentation and Data Entry ==== | |
− | ===Types and Examples=== | ||
− | ====Presentation and Data Entry==== | ||
A simple example of this is the [[wp:U2|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. | A simple example of this is the [[wp:U2|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 ==== | |
− | |||
− | |||
− | |||
− | |||
− | ====Functional Templates==== | ||
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]] | 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==== | + | ==== Static Templates ==== |
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', '[[:Template:stub|stub]]', 'needs attention' etc.; or perhaps you have a collection of articles that you want to apply a common resource box or navigation to. | 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', '[[:Template:stub|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 === | |
− | + | # (optional) create a new page | |
− | ===Using Templates=== | + | # insert the template marker in the page content e.g. |
− | |||
− | #(optional) create a new page | ||
− | #insert the template marker in the page content e.g. | ||
− | |||
<nowiki>{{my footer}}</nowiki> would use the 'my footer' template on a page | <nowiki>{{my footer}}</nowiki> 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 | |
− | #(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. | 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=== | + | === Available Templates === |
See all templates in the [[Special:Prefixindex|prefix index]] (choose the 'Template' namespace in the select box, then press 'Go') | See all templates in the [[Special:Prefixindex|prefix index]] (choose the 'Template' namespace in the select box, then press 'Go') | ||
− | + | === See also === | |
− | |||
− | |||
− | ===See also=== | ||
The "[[transclusion]]" idea is similar (and shares the same basic syntax) allowing you to include other article content by inclusion. | The "[[transclusion]]" idea is similar (and shares the same basic syntax) allowing you to include other article content by inclusion. | ||
− | == | + | == OpenOffice == |
− | + | The [[Open Office]] productivity suite includes a template system so that you can create documents that have a common layout. | |
− | + | * Templates are good to create a uniform look to [[presentation]]s made with OpenOffice Impress. | |
− | + | * [http://documentation.openoffice.org/Samples_Templates/User/template/index.html the documentation project] offers many templates you can add to your default OpenOffice installation. A Google search will reveal many more if you are looking for something in particular. | |
− | + | To use OpenOffice templates in your local system, save the tempate file to your local user template directory. E.g. for Linux users, it would be "/home/ | |
− | *[[ | + | <nowiki>[user]</nowiki> /.openoffice.org2/user/template/" |
− | *[ | ||
+ | == Programming with Template Systems == | ||
+ | * [[wp:Template_engine_(web)]] | ||
+ | * [[wp:Web_template_system]] | ||
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. | 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=== | + | === Smarty === |
For PHP programmers, one of the oldest and well-known template systems (aside from building your own using includes) is the [http://smarty.php.net Smarty] system. For a quick overview, see [[wp:Smarty]] There is also a crash course on the Smarty website in addition to the [http://smarty.php.net/manual/en/ documentation] | For PHP programmers, one of the oldest and well-known template systems (aside from building your own using includes) is the [http://smarty.php.net Smarty] system. For a quick overview, see [[wp:Smarty]] There is also a crash course on the Smarty website in addition to the [http://smarty.php.net/manual/en/ documentation] | ||
− | ====Smarty in CiviCRM==== | + | ==== Smarty in CiviCRM ==== |
As of Feb. 2016, Civi uses Smarty v2 | As of Feb. 2016, Civi uses Smarty v2 | ||
Line 63: | Line 50: | ||
− | ===Drupal=== | + | |
+ | === Drupal === | ||
Offers a choice of template systems | Offers a choice of template systems | ||
− | ===Django=== | + | === Django === |
Uses the Django Template system | Uses the Django Template system | ||
− | |||
− | |||
[[Category:Help]] | [[Category:Help]] | ||
[[Category:Wiki]] | [[Category:Wiki]] |
Revision as of 16:12, 4 February 2016
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.
OpenOffice[edit | edit source]
The Open Office productivity suite includes a template system so that you can create documents that have a common layout.
- Templates are good to create a uniform look to presentations made with OpenOffice Impress.
- the documentation project offers many templates you can add to your default OpenOffice installation. A Google search will reveal many more if you are looking for something in particular.
To use OpenOffice templates in your local system, save the tempate file to your local user template directory. E.g. for Linux users, it would be "/home/ [user] /.openoffice.org2/user/template/"
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