Actions

Difference between revisions of "Using a custom image in the menu bar title"

From Joomla! Documentation

(Filled in missing manifest file way)
m (Via manifest xml since {{JVer|1.5|Since Version 1.5}}: Example xml line)
 
Line 2: Line 2:
  
 
Make sure the image itself is going to be uploaded in your manifest file.  Now link it via the [[Manifest_files#Menu_links_and_submenus|img attribute of the administration/menu section]].
 
Make sure the image itself is going to be uploaded in your manifest file.  Now link it via the [[Manifest_files#Menu_links_and_submenus|img attribute of the administration/menu section]].
 +
Example
 +
<source lang="xml">
 +
<menu img="../media/com_mycomponent/images/mycomponent-logo-16.png">COM_EXAMPLE</menu>
 +
</source>
  
 
=Via css =
 
=Via css =

Latest revision as of 10:26, 3 October 2012

Via manifest xml since Since Version 1.5

Make sure the image itself is going to be uploaded in your manifest file. Now link it via the img attribute of the administration/menu section. Example

        <menu img="../media/com_mycomponent/images/mycomponent-logo-16.png">COM_EXAMPLE</menu>

Via css

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:

com_notes
|- 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.