About
Below, we will document some little template
Starting in Tiki5, in Admin > Look & Feel (tiki-admin.php?page=look) > Miscellaneous, there is a Custom Code section to add custom CSS and JavaScript. You can create styles/custom.js or styles/yourtheme/custom.js and that should get included automatically. You may need to empty your Tiki cache.Custom CSS and JS
Change size of subtitle
Help - I broke my theme
Apparently, a problem with my custom theme is preventing me from accessing my site normally.
Reset the theme "manually": If you can't access the admin pages to set your site's theme back to one that is known to work, you can reset the theme from the back end, so to speak.
Database method: Use phpMyAdmin on your server to access your Tiki database. In the table "tiki_preferences", find the row for "site_style". Edit this row by replacing the custom theme name with a standard theme, such as thenews.css.
FTP method (easier): Using your FTP client, go to the styles directory of your Tiki installation and rename the theme currently set as the site theme, such as by changing its ".css" file extension to ".txt". Tiki will revert to the default. Log in using the default theme and fix what is wrong. Also clear the site caches.
When trying out a new theme, it is much better to use the "switch theme" module to select it. Don't make a new and untried theme the site theme without first trying it out from the switch-theme module.
I am stuck in a theme
To change themes, you can point your browser to a non faulty theme:
- Point your browser to: tiki-switch_theme.php?theme=fivealive.css
- Then, also check to Clear the cache with tiki-admin_system.php?do=all
If anything doesn't change
For some unknown reason the theme doesn't change. Look directly in the database in *'tiki_preferences*'
look at:
UPDATE `tiki_preferences` SET `value` = 'fivealive.css' WHERE `tiki_preferences`.`name` = 'style';
Howto
Escaping variables used in Smarty
When modifying templates, it is important to check that variables that display output on screen be escaped except in certain circumstances, to act as a safeguard agains unfiltered user input being displayed back on the page. The question is when to escape and when not to escape? See
Adding a print button only if current page is a wiki page
Adding some HTML (ex.: a logo) to the print version of wiki pages
{if $SCRIPT_NAME eq '/tiki-print.php'} <img src="http://themes.tiki.org/show_image.php?id=53" alt="Site Logo" style="border: none"> {/if}
Adding a "Hello John" indication
{if $user} Hello {$user} {/if}
Adding content only for a group
In content
In a template
{if 'Admins'|in_group or 'Editors'|in_group} You are a member of the Admins or Editors group. {/if}
Adding content only for a permission
{if $tiki_p_admin eq 'y'} You have full admin rights {/if}
Adding content only for a preference
{if $prefs.feature_wiki eq "y"} The Wiki feature is on {/if}
Dislay the value of a Tiki preference in content
Adding content only for a category
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}{tr}Home{/tr}</a>
This is an Smarty block to display only if language matches. Example: If the current language is en, Hello will be displayed. If it is pt-br, Olá. Admin > Look & Feel > Add HTML comment at start and end of each Smarty template (TPL). Then, clear your template cache (tiki-admin_system.php?do=templates_c) The system name for this feature is "log_tpl". Then, when you "view source" with your browser, you will see which template 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! Generally, if the page name is tiki-abc.php, look templates/tiki-abc.tpl If you can't find it: As indicated on that page, "Use only for development, not in production because these warnings are added to emails as well, and visible to the users" ## How do I change the email messages? Look in: templates/mail/ Ex.: templates/mail/share_subject.tpl contains
It's one quick hack like
{translation lang="en"}Hello{/translation}
{translation lang="pt-br"}Olá{/translation}How to know where something is in a template?
How do I know which template to modify to affect the look & feel of a specific URL?
You have three options:
- Modify that file
- If you update your site via FTP, this will break at the next upgrade
- Copy that file into your custom theme and modify it there
- ex.: templates/styles/mycustomestylehere/mail/share_subject.tpl
- Thus, when you upgrade via FTP, this file will remain. However, you should check for changes in the original file
- Use the
- You should do this for any language you use. Even if your site is only in English, you can use the English to English translation file to have custom strings and keep your Tiki code untouched and make upgrades easier (pretty nifty if you ask me!)
After any file change, make sure to empty all your cache ## How to show content just when in certain pages/features. Ex.: tiki-searchresults.php
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}
Add a Banner for each Blog, like a personal logo header
add the following code in Site Ads and Banners Content: in Site Ads and Banners section in Administration menu.
this exemple shown a banner set in zone 'ZoneName' if the blogid #2 is active.
{if $blogId eq '2'} {banner zone=ZoneName} {/if}
How to force switch Theme for Anonymous
You could use the Group Theme feature but it seems broken currently in Tiki 5 so here's a workaround using JavaScript code in Admin > Look & Feel > General Layout > Custom HTML
Content ("Registered users can switch themes" - preference name change_theme - must be enabled):
{if !$user and $prefs.style ne "jqui.css"}<script type="text/javascript"> <!-- window.location = "tiki-switch_theme.php?theme=jqui.css" //--> </script>{/if}
Web pages can be liquid-width (using 100% of the browser viewport from left to right) or fixed-width (using some part of the total width). Bootstrap uses a container class div to limit the width of the web page's content to 1170px (default) in the center of the screen. But sometimes, for the graphic design or other reason, we want to have one or more page sections that don't have this width limitation.
See
Add wiki syntax in Custom code text areas of Look & Feel
This works until
See
You can add PHP to Smarty using the
See
tiki-admin.php?page=look -> General Layout options -> Secondary site menu custom code This is easier now, and you can use
You need to set the params to the module such as nobox=y, etc... point your browser like this example: tiki-index_p.php?page=i18n Or use
Put in a template or in Look & Feel custom code to have a popup with information on all the variables, at each page refresh. To avoid driving your users mad 😊 Admin -> Category -> Categories used in templates (TPL) How to use? Something like To determine if an object is categorized, use: This is a new native feature in
The current perspective ID is not available to the templates. However, you can simply use the value of something that was overridden in this template. This could be in one of the Site identity fields.
works for all features, not just wiki pages related: If your site changes hosts, you may have time to plan a nice message on the maintenance page of the old host. The maintenance mode only permits a short sentence, as the maintenance page should work even if the database is unavailable. This is the part of tiki-error_simple.php you are looking for. Note that all is into a <pre> tag, so don't forget the line breaks. Also, handle single quotes with care.Add JavaScript tracking code
Add your own PHP code
Add Post-It Notes
Add a top-level menu
Until Tiki6
Tiki7 and above
Timed content
Dynamic content
Show the content without columns
Add a wiki page in module
How to Add Custom jQuery Code Using the Custom Code Textareas
Debug
Categories used in templates
(categories_used_in_tpl)
Show or hide modules by category
Section
Perspective
Variables
Dynamic variables
Use current page name as content
Alternate view of wiki content
Raw
Middle only, useful to include in an iframe
Fullscreen
doc:
dev:
Slideshow
Mobile
Clearing cache
Improve communication for planned maintenance
Related