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 ->
{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}
{if $user} Hello {$user} {/if}
{if $group eq "Admins"} You are a member of the group {$group} {/if}
{if $prefs.feature_wiki eq "y"} The Wiki feature is on {/if}
{if $prefs.language eq "fr"} <a href="accueil"> {elseif $prefs.language eq "es"} <a href="inicio"> {else} <a href="tiki-index.php"> {/if}
This is an Smarty block to display only if language matches.
It's one quick hack like PluginLang, but to use in modules and templates.
Example:
{translation lang="en"}Hello{/translation}
{translation lang="pt-br"}Olá{/translation}
If the current language is en, Hello will be displayed. If it is pt-br, Olá.
To make users switch language, you can add Module switch_lang or hard code some links such as:
{if $prefs.language eq "fr"} <a href="tiki-switch_lang.php?language=fr">-English-</a> -Français- <a href="tiki-switch_lang.php?language=es">-Español-</a> {elseif $prefs.language eq "es"} <a href="tiki-switch_lang.php?language=en">-English-</a> <a href="tiki-switch_lang.php?language=fr">-Français-</a> -Español- {else} -English- <a href="tiki-switch_lang.php?language=fr">-Français-</a> <a href="tiki-switch_lang.php?language=es">-Español-</a> {/if}
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. Make sure to turn off once you go into production, or else your email notifications will also have a note!
Look in: templates/mail/
So if you want to modify tiki-searchresults.php, you find templates/tiki-searchresults.tpl
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}
Site identity is the section in Admin > look & feel where you can set the top, site title, add custom text to top & bottom, etc.
{wiki}{literal} My wiki code {/literal}{/wiki}
Put in a template or in Site Identity to have a popup with information on all the variables, at each page refresh.
{debug}
To avoid driving your users mad
{if $user eq 'admin'} {debug} {/if}
Admin -> Category -> Categories used in templates (TPL)
(categories_used_in_tpl)
How to use? Something like
http://doc.tikiwiki.org/Category+Admin#Using_the_current_object_categories_in_a_tpl
http://dev.tikiwiki.org/Hello+World#To_do_something_specific_in_a_template_ex.:_tiki.tpl_conditional_to_the_current_item_being_in_a_category._Ex.:_different_header_picture.
{if $section eq "blogs"} text shown just when in one of the blog pages {/if}
The current perspective ID is not available to the templates. However, you can simply use the value of something that was overriden in this template. This could be in one of the Site identity fields.
{if $prefs.sitetitle eq "Workspace Sales"} {phplayers id=45 type=horiz css=y} {else} {phplayers id=47 type=horiz css=y} {/if}
http://themes.tikiwiki.org/tiki-index_raw.php?page=Template+Tricks
http://themes.tikiwiki.org/tiki-index_p.php?page=Template+Tricks
Templates Best Practices
Advanced Wiki Syntax usage examples