Dynamic variables
The dynamic variable feature allows you to add some content once, assigning it to a variable, and then you can use it dynamically throughout all your Tiki site by calling the variable name surrounded by percentage characters (%). Like this:
%variable14%
So to use, just click on the text in the box below (you need to be logged in):
The permission tiki_p_edit_dynvar
must be given to the group. On the current site tiki_p_edit_dynvar
has been given to Anonymous group. The box above is just to help you find the text. Dynamic variables can be used in a sentence. For example, " strong " is the current value.
This can be useful for contact name, phone number, etc. to be used throughout a Tiki site. If you have a multilingual Tiki, you can use dynamic variables for strings of text which are the same in all languages.
This feature is different than Dynamic Content.
Usage
(1) Create a new variable, by calling it
%variable15%
This will show the text:
which indicates that this is "Not a Variable" yet. (Please note in newer Tiki versions it shows "No value assigned" instead.) If you pass the mouse pointer over it, if will say "Click to edit dynamic variable: variable15" as follows:
![Image](img/wiki_up/dynamic_variable_03_.png)
(2) Click on the Nav link
![Image](img/wiki_up/dynamic_variable_02.png)
Then you can add the content for that dynamic variable. Click on the update variable link, and you are done.
1.1.2. Limitations
If you create a variable containing some code which produces something "invisible", you cannot edit it later then because there's nothing to click and no admin GUI to administer them later. If you want to edit those dynamic variables, you will have to edit them directly in the database table tiki_dynamic_variables where they are stored.
1.1.3. Examples
Example 1
Example:
You might use dynamic variable to clear the specification to float images over the text through a div plugin call, and without allowing users to write html code on wiki pages.
You can create a new variable called:
%clear%
Then add this as content:
<br class="clear" />
This way, you can just write %clear% after each paragraph where you want to ensure that the previous image doesn't overlap with the following headings, etc.
For example:
1.1.3.1. First section
1.1.3.2. Second section
1.1.3.3. Third section
This variable will be "invisible" on the actual wiki page.
So, if you want to edit the content of this variable afterwards, you need to edit it directly at the MySQL table tiki_dynamic_variables.
Example 2
You can create "custom syntax", e.g. for the "big" HTML tag:
%big_begin%This is Big%big_end%
Result:
This is Big
Example 3
Similarly for the "small" HTML tag:
%sm_begin%This is small%sm_end%
Result:
This is small
1.1.4. Usage notes
1. Only lowercase letters, numbers and underscores appear to work in variable names
%Test1% Does not work %Test 1% Does not work %test% Works %test 1% Does not work %Test_1% Does not work %Test% Does not work %test1% Works %test_variable% Works
2. Some wiki syntax works within the variable content (like ((wiki links))) and some does not (like %%% embedded newlines)
like <br /> for newlines
4. Here is a sample SQL UPDATE script for a dynamic variable that contains wiki links:
UPDATE tiki_dynamic_variables SET data = "<br><h3>Links</h3><br>((Perl Arrays))<br>((Perl Variables))<br>" WHERE name = "perl_wiki_links"
Some Dynamic Variables Used on This Site
In the following table you can right click and "Inspect" element to see the actual rendered code:
Variable Name | Value | Actual Variable as rendered |
---|---|---|
%big_begin% | <big> |
|
%big_end% | </big> |
|
%clear% | <br class="clear" /> |
|
%sm_begin% | <small> |
|
%sm_end% | </small> |
|
%userguide% | &structure=Tiki+User+Guide |
{PARAM(name="structure")} {ELSE}{redirect page="{{page}}&structure=Tiki+User+Guide"}{PARAM} |
%variable14% | Hello Tiki! Testing 3 2 1! |
strong |
Show a list