Loading...
 
Skip to main content

History: Template Tricks

Source of version: 13

Copy to clipboard
            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 -> 

{maketoc}

!!Adding a print button only if current page is a wiki page
{CODE()}
{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}
{CODE}		


!!Adding a "Hello John" indication
{CODE(ishtml="1")}
{if $user}	
 Hello {$user}
{/if}
{CODE}



!!Adding content only for a group 
!!! In content
*((doc:PluginGroup))

!!! In a template

{CODE()}
{if $group eq "Admins"}
You are a member of the group {$group}
{/if}
{CODE}

!!Adding content only for a permission


!!Adding content only for a preference
{CODE()}
{if $prefs.feature_wiki eq "y"}	
 The Wiki feature is on
{/if}
{CODE}


!!Display content conditional to current language
	
{CODE()}
{if $prefs.language eq "fr"}
 <a href="accueil">
{elseif $prefs.language eq "es"}
 <a href="inicio">
{else}
 <a href="tiki-index.php">
{/if}
{CODE}


To make users switch language, you can add ((doc:Module switch_lang)) or hard code some links such as:

{CODE()}
{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}
{CODE}

!! 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. Make sure to turn off once you go into production, or else your email notifications will also have a note!

!! How do I change the email messages?
Look in: templates/mail/


!! 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
{CODE()}
 {if $mid eq "tiki-searchresults.tpl"}
  bla bla
 {/if}
{CODE}



!! Debug

Put in a template or in Site Identity to have a popup with information on all the variables, at each page refresh.
{CODE()}
 {debug}
{CODE}

To avoid driving your users mad :-)
{CODE()}
{if $user eq 'admin'}
 {debug}
{/if}
{CODE}

!! Categories used in templates
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.



!!Section
{CODE()}
 {if $section eq "blogs"}
  text shown just when in one of the blog pages
 {/if}
{CODE}

!! Perspective
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.


{CODE(caption="To change the menu depending on the Site title")}{if $prefs.sitetitle eq "Workspace Sales"}
  {phplayers id=45 type=horiz css=y}
{else}
  {phplayers id=47 type=horiz css=y}
{/if}
{CODE}

!! Variables

!!! Dynamic variables
((doc:Dynamic variables))


!!! Use current page as content
http://doc.tikiwiki.org/Advanced+Wiki+Syntax+usage+examples#How_to_display_URL_param_in_a_page_or_the_page_name_or_the_user_name
!Related
((dev:Templates Best Practices))
((doc:Advanced Wiki Syntax usage examples))

        

History

Advanced
Information Version
Tue 16 of Mar, 2021 16:41 GMT-0000 Marc Laporte 88
Sat 14 of Nov, 2020 11:27 GMT-0000 Jonny Bradley more colours 87
Sat 14 of Nov, 2020 11:25 GMT-0000 Jonny Bradley adding code block colours 86
Sat 14 of Nov, 2020 11:22 GMT-0000 Jonny Bradley code Plugin modified by editor. 85
Sat 14 of Nov, 2020 11:21 GMT-0000 Jonny Bradley $group is only the default group (sometimes) but the in_group modifier checks all the groups a user might be in 84
Wed 04 of Sep, 2019 14:21 GMT-0000 Marc Laporte Remove ...page... that makes the page harder to use 83
Wed 04 of Sep, 2019 14:19 GMT-0000 Marc Laporte AutoTOC 82
Thu 03 of Nov, 2016 09:10 GMT-0000 Xavier de Pedro 81
Fri 26 of Jun, 2015 11:55 GMT-0000 Nelson Ko 80
Tue 12 of May, 2015 21:07 GMT-0000 Marc Laporte 79
Tue 22 of Apr, 2014 16:37 GMT-0000 Marc Laporte Linking to existing docs 78
Tue 22 of Apr, 2014 16:15 GMT-0000 Marc Laporte Code Plugin modified by editor. 77
Tue 22 of Apr, 2014 16:07 GMT-0000 Marc Laporte 76
Wed 19 of Mar, 2014 01:30 GMT-0000 Marc Laporte How do I know which template to modify to affect the look & feel of a specific URL? 75
Wed 19 of Mar, 2014 01:23 GMT-0000 Marc Laporte Cosmetic 74
Tue 02 of Apr, 2013 05:41 GMT-0000 Torsten Fabricius 73
Tue 09 of Oct, 2012 09:57 GMT-0000 Karen Stingel updated image path from 'pics/...' to 'img/...' 72
Sun 29 of Jul, 2012 16:48 GMT-0000 Torsten Fabricius deleted the "," and "!" from a headline (help - I broke my theme 71
Mon 28 of May, 2012 23:42 GMT-0000 Marc Laporte 70
Mon 28 of May, 2012 22:13 GMT-0000 Marc Laporte 69
Thu 09 of Feb, 2012 18:51 GMT-0000 Marc Laporte 68
Thu 09 of Feb, 2012 18:09 GMT-0000 Marc Laporte 67
Sat 04 of Feb, 2012 03:42 GMT-0000 Marc Laporte Code Plugin modified by editor. 66
Sat 04 of Feb, 2012 03:40 GMT-0000 Marc Laporte 65
Sat 04 of Feb, 2012 03:09 GMT-0000 Marc Laporte 64
Sat 04 of Feb, 2012 03:05 GMT-0000 Marc Laporte utf-8 bad conversion 63
Tue 31 of Jan, 2012 20:49 GMT-0000 Jean-Marc Libs 62
Tue 31 of Jan, 2012 20:48 GMT-0000 Jean-Marc Libs Code Plugin modified by editor. 61
Tue 31 of Jan, 2012 20:47 GMT-0000 Jean-Marc Libs 60
Wed 09 of Nov, 2011 19:30 GMT-0000 Marc Laporte 59
Wed 09 of Nov, 2011 19:25 GMT-0000 Marc Laporte From a discussion on the mailing list (should work) 58
Thu 13 of Oct, 2011 13:02 GMT-0000 Marc Laporte 57
Sat 24 of Sep, 2011 17:58 GMT-0000 Marc Laporte 56
Sat 24 of Sep, 2011 17:54 GMT-0000 Marc Laporte 55
Sat 24 of Sep, 2011 17:50 GMT-0000 Marc Laporte 54
Tue 14 of Jun, 2011 01:48 GMT-0000 Marc Laporte 53
Tue 14 of Jun, 2011 01:22 GMT-0000 tinomartinez 52
Mon 13 of Jun, 2011 11:21 GMT-0000 Marc Laporte 51
Wed 27 of Apr, 2011 19:25 GMT-0000 Marc Laporte not working for some reason 50
Thu 24 of Feb, 2011 18:45 GMT-0000 Marc Laporte 49
Tue 11 of Jan, 2011 19:25 GMT-0000 Marc Laporte Thanks luci for documenting 48
Fri 05 of Nov, 2010 03:06 GMT-0000 Marc Laporte 47
Tue 02 of Nov, 2010 03:09 GMT-0000 Marc Laporte 46
Tue 02 of Nov, 2010 03:04 GMT-0000 Marc Laporte oups 45
Thu 28 of Oct, 2010 20:32 GMT-0000 Marc Laporte 44
Mon 20 of Sep, 2010 06:44 GMT-0000 Marc Laporte For Gaston: http://tiki.org/tiki-view_forum_thread.php?forumId=4&comments_parentId=38602 43
Sat 18 of Sep, 2010 06:28 GMT-0000 Gary Cunningham-Lee Removed some ...page... tags - clicking 22 times to see page content isn't good usability IMHO. 42
Wed 15 of Sep, 2010 16:09 GMT-0000 Rick Sapir / Tiki for Smarties 41
Thu 02 of Sep, 2010 02:09 GMT-0000 Gary Cunningham-Lee tikiwiki to tiki in urls. 40
Sun 15 of Aug, 2010 13:02 GMT-0000 luciash d' being ?‍♂️ 39
  • «
  • 1 (current)
  • 2