Urdu English
English English Deutsch Deutsch Español Español Français Français Italiano Italiano Nederlands Nederlands Português Português Русский Русский Ελληνικά Ελληνικά

Welcome to Jumi! >> Usage for J!1.0

Let's assume you have Jumi component, plugin and module installed and running in your working Joomla! environment.

You can start playing with Jumi now.

I do not advice playing with Jumi on your public live site - you should publish there only such Jumi applications that were successfully tested on your private (i.e. not for public eyes) Joomla! installation; preferably on your local computer.

General strategy of using Jumi

Just to remind you:

Jumi does nothing but includes (injects) your custom code into Joomla!. Either as a separate page (via Jumi component) or into the articles (via Jumi plugin) or into modules position (via Jumi module). The content of the your inclusion - simple or magic - does what you see.

The code can be stored in files that reside on your server or in a record of Jumi component database table or directly written into Jumi extensions.

If you decide to store your codes in php files do read Security issues too.

The general Jumi usage can be dedicated from the following schema

Jumi Cheatsheet

In this article you will learn how to use Jumi component, plugin and a module respectively


The Jumi component creates custom Joomla! page and includes in it custom code. Custom code can be directly written into the component item and/or is "withdrawn" from a previously stored file.

The component is accessible through admin backend top menu: Components -> Jumi. It opens Jumi Application Manager.

You will see the list of component applications in the Application Manager. The meanings of the colums in the list and accompanied Application Manager menu is obvious - it respects general Joomla! standards.

There are two preinstalled examples there: "Hello Jumi!" and "Blogspot". From these examples you will learn how to use Jumi component.

The Pathname field should contain references to the files that resides on your server only.

Scripts order processing

If you have filled both component filelds "Custom script" and "Pathname" then the "Custom script" is processed first.

Calling Jumi application

You can call an Application by two ways:

  • relate an Application item with Joomla! menu item or. After the installation of the component there is, as an example for the study, main menu item "Hello Jumi!" connected to the "Hello Jumi!" Application item.
  • write anywhere into the Joomla! content link to the Application item URL adress. The rule for link creation is simple:
    where xxx is ID of Jumi application, that can be seen in the right column of Jumi Application Manager list.


The Jumi plugin/mambot includes into Joomla! articles custom script: from a file or from Jumi component database record.

Hide Jumi code

Before using the plugin do not forget to enable it in the admin backend.

There is a switch "Stop/Clear Jumi Codes" in the plugin Advance parameters. If switched to Yes it clears all Jumi plugin syntax text in Joomla! articles and stops code inclusions!

Plugin syntax

The general Jumi plugin syntax can be learnt from the Jumi Usage Cheatsheet. We will bring just several examples here:

{jumi [images/codes/test.php]} //includes test.php file located in images/codes
{jumi [*1]} //includes code stored in the 1st record of Jumi component database table
{jumi area calc [test.php] width[4] height[6]} //includes test.php file and fills $jumi array

From given examples you can easily guess that

  1. There must not be any character between the left bracket { and the keyword jumi in the Jumi syntax.
  2. Everything else outside [ ] brackets is stripped out and not processed.
  3. Jumi interprets the conent of the first bracket as the code source and tries to include it. The code source can be either a file or record ID of Jumi component database table.
  4. Beginning from the second bracket [ ] Jumi stores the contents of brackets into $jumi array. The $jumi array (and it values) is accessible from your included php code.

Argument values can be numbers, plain text, html encoded text, etc. etc. It can be everything with an exception of brackets symbols: [ ,], {,}.

If something goes wrong, e.g. nothing is shown in the article, switch "Debug mode" to Yes. It will show you Jumi error message if present.

Parameter: Jumi Default Absolute Path

The Default absolute jumi path is prepanded to the file pathname to be included. If not set it is eqaul to Joomla! root directory. For example:

If we write

{jumi [test.php]}

and the Default Absolute Jumi Path is not set then Jumi plugin looks up test.php in the Joomla! root (where Joomla! configuration.php is). But if we set it to be "images/mycodes" it looks it up in this directory.

We can place our files outside Joomla! installation directory too. For example (on local host) we can have our Joomla! here: "D:/xamp/htdocs/joomla". No problem to store our codes here: "D:/xampp/htdocs/codes" - out of the Joomla! installation directory. The same applies for hosted sites.

The Default Absolute Jumi Paths has got two reasons:

  1. user comfort: no need to over and over again write the full relative path to files to be included
  2. web security: if for certain reasons Jumi is not working the the Jumi syntax code is visible for visitors. Including file path. The Default Absolute Jumi Path is hidden and it is more difficult to gueast from visible code where the code actually is. And if the files for inclusion lies out of your site (www) it is practically impossible to reach them from web browsers. See Security issues for more details.

The Default Absolute Jumi Path set here is the global parameter for all Jumi plugin syntax instancies throughout the whole Joomla!.

Parameter: Nested replace

Nested replace

Nesting feature interprets Jumi syntax in included codes. For example:

Lets have two files: main.php and nested.php.

The file main.php contains

echo "This is the main file<br />";
echo "{jumi [nested.php]}";

and nested.php contains

echo "This is the nested script";

Having both files main.php and nested.php uploaded into the server we can write into the article

{jumi [main.php]}

The result we see can be either

This is the main file
{jumi [nested.pgp]}

if the switch Nested replace is set to No or

This is the main file
This is the nested script

in case the switch is set to Yes.

It is clear that Nested replace feature brings for the developers quite interesting possibilities.

The nesting feature works in Jumi plugin only.

The nesting feature works for files and codes stored in the Jumi component database table.

Other plugin parameters

If Debug mode is set to Yes it will show you Jumi error message if present.

If Stop/Clear Jumi Codes is switched to Yes it clears all Jumi plugin syntax text in Joomla! articles and stops code inclusions! There is no Jumi code and no code output from Jumi plugin in Joomla! articles.


The Jumi module includes into a module position custom script: manually or from a file or from Jumi component database record.

Basic parameters

There are just few Basic parametrs in the module administration there: "Notepad", "Code written" and "Source of code".

Notepad serves as an area for your notes.

Code written is an area for your code.

Into the field Source of code you can put either a filepathname of the file to be included into a module or *id of the Jumi component Application item.

Advanced parameters

Jumi Default Absolute Path has exactly the same meaning as it has in the plugin. With one slight difference: this parameter is not global for all Jumi modules but it can be unique to each Jumi module instance.

Debug mode has the same meaning as it has in the plugin: when set to No then Jumi module will not show any Jumi error message. So if you are in troubles, e.g. nothing is shown, switch "Debug mode" to Yes.

Other advanced parameters - Module Class Suffix, Enable Cache - are general Joomla! parameters that can be found in standard Joomla! modules. I suppose their meaning is clear.

Scripts order processing

If you have filled both component filelds "Code written" and "Source of code" then the "Code written" is processed first.