Actions

Difference between revisions of "Customising the dynamic page title"

From Joomla! Documentation

(Updated for current guidelines. Removed erroneous statement about where the PHP code is to be inserted.)

Revision as of 09:48, 8 March 2011

A common requirement is to customise the way in which the page title is displayed, For example, including the site name as part of the page title. The code on this page will allow you to change the global page title across the entire site. You may customise it to your own liking within your own template files. The code can be placed anywhere in your template index.php, although most people tend to insert it near the top or within the <head> element.

To get the current page title:

<?php
$title = $this->getTitle();
?>

Similarly, you use setTitle to set a new page title. For example, to append the site name to the regular page title, you can use code like this:

<?php
$app = JFactory::getApplication();
$this->setTitle( $title . ' - ' . $app->getCfg( 'sitename' ) );
?>

Combining these two pieces of code together, you can do this:

<?php
$app = JFactory::getApplication();
$this->setTitle( $this->getTitle() . ' - ' . $app->getCfg( 'sitename' ) );
?>

Here's a more complete example of what a template would look like with this code embedded in it:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
$app = JFactory::getApplication();
$this->setTitle( $this->getTitle() . ' - ' . $app->getCfg( 'sitename' ) );
?>
<jdoc:include type="head" />
 
.... rest of template file.