Using a custom image in the menu bar title

From Joomla! Documentation

Revision as of 14:01, 14 August 2012 by Tom Hutchison (Talk | contribs)

This Article Needs Your Help

This article is tagged because it NEEDS REVIEW. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.

Reason: Since joomla 1.5 (if I am not wrong), there is another way to do what this article explains which is easier -> via the package xml file tag "menu", attribute "img", though how precisely or where this is explained needs to be completed by someone.

To use a custom image in the Menu Bar title we need an image (obviously) and a little bit of CSS.

First off, create the following folders in your administrator component (we're using a fictitious component called com_notes as the example). Then place your image in the images folder and create a new file called default.css in the css folder, like this:

|- assets
..|- css
....|- default.css
..|- images
....|- logo.png

The code for the CSS file looks like this:

/* Toolbar */
.icon-48-notes {
    background: url(../images/logo.png) no-repeat left;

Next we tell the menubar handler function to use this css by the following invocation of the title method of JMenuBar:

JMenuBar::title( JText::_( 'Notes List' ), 'notes' );

Notice that value of the second argument, notes, marries with the suffix of the CSS class.

Finally we need to load the component custom CSS file. Place the following code typically near the top of admin.notes.php:

$document =& JFactory::getDocument();
$document->addStyleSheet( '/components/com_notes/assets/css/default.css' );

You can, of course, use default.css for more than just the title styling.