Skip to main content

Creating a Joomla! Module Position

I know how it works. At least I did, once... I tend to forget, thus I'll write it down once and for all.

Step 1: Adding the position to the correct xml file

Go to your template's root folder (usually <Joomla-Root>/templates/<your-template>) and open templateDetails.xml in a text editor. Scroll down 'til  you find <position>-tags. At the end of the row of position tags, add another one (just clone the last tag and increase the number by 1). Save.


Step 2: Check if what you just did worked

Go to your Joomla! backend. Open Extensions > Module Manager. Select a module (open the module item by clicking on it). Click "Select Position". Does the position you just created appear in the table? Good!

Step 3: Name your position (optional)

Now you can give your position a name. The name is what appears in brackets in the position table. Go to the <Joomla-Root>/administrator/language/<your-language> folder. Open file <your-language>.com_modules.ini (for example en-GB.com_modules.ini) in a text editor. Look for a line that reads 'COM_MODULES_POSITION_POSITION-18="Position 18"' (where 18 would be the number of your new position -1) and add a line for your new position (i. e. 'COM_MODULES_POSITION_POSITION-19="Position 19"'). Save. (By the way: you can specify whatever you want to be the name of your position. It doesn't have to be "Position -<NumberOfPosition>")

Step 4: Insert the position in index.php

All that's missing is the tag that specifies where your position should be included. Go to your template's root folder (usually <Joomla-Root>/templates/<your template>) and open index.php in a text editor. Go to the position where you want to include the position and insert a tag similar to this one:
<jdoc:include type="modules" name="position-19" />
Replace "position-19" with the correct information you entered in the xml file (this is NOT the name you specified in the language file!).

Step 5: Assigning a module to the position

Well, you should know how this works. Just open Extensions > Module Manager in your Joomla! backend, open a module, click "select position" and select your new very special own position. Reload your page to see if everything worked (clearing your cache might be necessary).

Let me know if you had any problems with this!


Popular posts from this blog

Joomla! 2.5: Multiple views, one model

Here goes MVC again: I was a bit confused that every time I created a second or third view for a component, I had to create a separate model for it. Did not make sense to me - I had the necessary algorithms in the model for the first view, did I really need to do copy & paste? I hate it! Redundancy, redundancy, redundancy.

That case occurred in my current project - I created user profiles and needed an "edit" view. The data is the same, but I need to have the data in editable text fields instead of fixed labels, and maybe some other buttons here and there... 

Well, some time later I realized that I just did not quite understand what Joomla! acutally means by "view".  And that there is something called "layout".

Long story short: If you have a model that provides all necessary information and you just want to have a different presentation of it, just add a new .php file to your views/<yourviewname>/tmpl folder - let's call it "layout2&q…

Pi Access Point with RTL9182CU-Adapter

Well, I tried a long time and this is mainly a note to myself:

go here first:

then go here:

you do not need to fix the Invalid Argument error, just apply the WPA-Supplicant fix from here:

Recover Joomla PhpMyAdmin MySQL Database

This morning I found myself confronted with a new problem:

Our server crashed, we had to set it up again - from scratch. Fortunately, we did have some backups - the Joomla! files, and the mysql folder (on Linux: /var/lib/mysql).

(We are using a Linux server with mysql and phpmyadmin.)

I then tried to recover our database. What I thought: Just copy the contents from the database backup folder (mysql/joomla) to the mysql folder on the server and everything should be fine. That was what they said on the internet, too. Turns out there were only .frm files in that folder, no .myd etc. Turns out that .frm only contains the table structure. But where is my data?

Everything's not lost.

I found a huge file in the mysql backup folder, called ibdata1.

So what you need to do now is (instructions are for Linux):

- Stop your mysql service
  sudo stop mysql
- Copy that ibdata1 file to the /var/lib/mysql folder (consider making a backup of the existing ibdata1 file)
  cd /var/lib/mysql
  sudo mv ib…