Plugin Attributes

Use this wiki plugin, introduced in Tiki6, to assign generic attributes to the current object. Attributes are provided as parameters. For,
{attributes tiki_geo_lat=...}

Removing the plugin or values in it will not remove the attributes. See Object Attributes and Relations for the available attributes.


The plugin Attributes is not enabled by default, you can enable it from the Control Panel, Editing and Plugins, Plugins.

{attributes tiki_geo_lat="" tiki_geo_lon="" tiki_geo_google_zoom="" tiki_relation_target="" tiki_relation_source=""}


Introduced in Tiki 6.
Go to the source code
Preferences required: wikiplugin_attributes

no parameters

Examples of using it to set fixed values and use them in a tracker

This method was used in a Tiki12 shop and I retrieved the code

In this use case we want to have fixed/editable values that can be used in different features of Tiki.
There is several advantages;

  • Changing one value will impact many other objects (items, calculation, etc).
  • Editing can be very limited (permissions to edit this page only)
  • Editing can be super relaxed (permissions to edit this page only)
  • It may help to keep fixed values through time (VAT may change from time to time however you need to keep the value for a specific date)

Here some example of plugin attributes in a wiki page and the usage in another place (mainly tracker field)

Display a value using attribute in many wiki pages (plugin List)

On the wiki page name PluginAttributes
{attributes nice_guy_name="Bernard"}

On any other wiki page
{CALC()}(attribute (object (str wiki page) (str PluginAttributes)) (property{CALC} is the first name of a nice guy name.

Will produce:
Bernard is the first name of a nice guy name.

Note: This should work in many other places like Blogs, Articles, Forums, Modules, etc. where there is a wiki area and it accept the wiki syntax.

Using a constant from the pluginAttributes in a tracker field calculation

On the wiki page
{attributes shop_general_handling_fees="0.2"}

Calculation in a mathematical field type in a tracker
(mul Price (attribute (object (str wiki page) (str Constants)) (property shop.general.handling.fees)))

Using a constant from the pluginAttributes to return different value in a php file

On the wiki page
{attributes shop_XXA_minimum="499" shop_XXB_minimum="599"}

usage and condition in a php file
// check min amount
			$shop_constants = TikiLib::lib('attribute')->get_attributes('wiki page', 'Constants');
			if ($input->supplierOrderName->int() == TikiLib::symbols()->Supplier['XXA']) {
				$minimum = $shop_constants[’shop.XXA.minimum'];
			} else if ($input->supplierOrderName->int() == TikiLib::symbols()->Supplier['XXB']) {
				$minimum = $shop_constants[’shop.XXB.minimum'];
			} else {
				throw new Denied(tr('Unsupported Shop'));

Using a constant from the pluginAttributes in a Smarty template

On the wiki page
{attributes shop_freeshipping_limit="699"}

<p class="flat_cost">{tr}Shipping{/tr} {if ($cart_total > $shop_constants.shop_freeshipping_limit)}<span class="free_shipping">₪0.00</span>{else}₪{$flat_cost|escape}{/if} {* $prefs.payment_currency|escape *}</p>