Skip to main content

Joomla! 2.5: Menu Items

Some time ago, I started to create my own components. Everything was working fine, but there was one thing that bugged me (even though it is not really necessary... it just looked strange):

When I create a link to my component, I always ended up with something like this in my menu manager:


Similar thing for the menu item type:


I felt like I somehow missed something, but the tutorials did not say anything about it. After playing around for a little while, I found out that the solution actually is pretty simple: The site > views > viewname > tmpl > default.xml file specifies these texts. Joomla! will look for these keys in the language files. Thus, you just need to add some entries to the language files and voila - everything looks nice and clean, just like this:


Step-By-Step:

Let's assume you already created the default.xml file with contents similar to these:

<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <layout title="COM_TRAININGMATERIAL_TRAININGMATERIAL">
        <message>COM_TRAININGMATERIAL_TRAININGMATERIAL</message>
    </layout>
   
</metadata>

Now have a look into your filesystem - open the "joomla" folder. There are two "language" folders - one for the front-end, one for the back-end - you will find this one in the "administrator" folder. As the menu manager is a part of the back-end, we are looking for the administrator/language folder.

This folder contains folders for the installed languages - for example "en-GB". Open your standard language folder. Here you will find lots of .ini and .sys.ini files. Now go on and create your own .sys.ini file - for example "en-GB.com_trainingmaterial.sys.ini". Open it with your favorite text editor.

I copied the contents from another language file and didn't delete the comments at the top - now my language file looks like that:

; Joomla! Project
; Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.
; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM


COM_TRAININGMATERIAL="Training Material"
COM_TRAININGMATERIAL_MANAGEMENT_VIEW_DEFAULT_TITLE="Management"
COM_TRAININGMATERIAL_TRAININGMATERIAL_VIEW_DEFAULT_TITLE="Frontend"

COM_TRAININGMATERIAL_TRAININGMATERIAL="Frontend"
COM_TRAININGMATERIAL_MANAGEMENT="Backend / Management"

The first three entries are the ones for the menu manager. Note the "VIEW_DEFAULT_TITLE" part - even though it is not in your default.xml, it needs to go into the language file. Joomla! will put it all together.

The other entries are for the menu item type manager. Try it!

Any questions, comments? Feel free to comment on this post!

Comments

  1. Argh! This was bugging the hell out of me for weeks and for the life of me couldn't work out how to resolve it..

    Thank you for this! I'm pretty sure this isn't mentioned once in any online documentation!

    ReplyDelete
  2. You're welcome! Thanks for the comment ;-)

    ReplyDelete

Post a Comment

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: http://blog.sip2serve.com/post/38010690418/raspberry-pi-access-point-using-rtl8192cu

then go here: https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/install-software

you do not need to fix the Invalid Argument error, just apply the WPA-Supplicant fix from here: http://forums.adafruit.com/viewtopic.php?f=19&t=47716&start=15

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…