History: Template Tricks
Preview of version: 3
- «
- »
Below, we will document some little template tricks. Typically show content depending on something. Can be done directly in templates/*.tpl files or in Admin -> Look & Feel ->
Table of contents
- Adding a print button only if current page is a wiki page
- Adding a "Hello John" indication
- Adding content only for a group
- Adding content only for a permission
- Adding content only for a preference
- Display content conditional to current language
- How to know where something is in a template?
- How to show content just when in certain pages
- Debug
- Categories used in templates
- Section
- Perspective
Adding a print button only if current page is a wiki page
{if $page neq ''} <a title="{tr}Print{/tr}" href="tiki-print.php?page={$page|escape:"url"}"> <img src="pics/icons/printer.png"/>{tr}Print{/tr} </a> {/if}
Adding a "Hello John" indication
{if $user} Hello {$user} {/if}
Adding content only for a group
In content
In a template
{if $group eq "Admins"} You are a member of the group {$group} {/if}
Adding content only for a permission
Adding content only for a preference
{if $prefs.feature_wiki eq "y"} The Wiki feature is on {/if}
Display content conditional to current language
{if $prefs.language eq "fr"} <a href="accueil"> {elseif $prefs.language eq "es"} <a href="inicio"> {else} <a href="tiki-index.php"> {/if}
How to know where something is in a template?
Admin -> Look & Feel Add HTML comment at start and end of each Smarty template (TPL)
New in 3.0, turn on "log_tpl" to add comments in templates (if you click view source, you can see which tpl was used to create it
How to show content just when in certain pages
So if you want to modify tiki-searchresults.php, you find templates/tiki-searchresults.tpl
For the container
templates/tiki.tpl is the master container.
Say you want to affect the master container based on the current page, you can do
{if $mid eq "tiki-searchresults.tpl"} bla bla {/if}
Debug
Put in a template or in Site Identity to have a popup with information on all the variables, at each page refresh.
{debug}
Categories used in templates
Admin -> Category -> Categories used in templates (TPL)
(categories_used_in_tpl)
How to use? Something like
{if $objectCategoryIds eq 4} This page is in category #4 {/if}
Section
{if $section eq "blogs"} text shown just when in one of the blog pages {/if}
Perspective
You can use Site identity