Anatomy of a Template File

A Joomla template is a PHP file called index.php that contains mostly HTML with a few key Joomla-specific code tags. We’ve created a sample barebones template in order to walk through a few of the key elements in the index.php file. Our simple index.php file contains:

<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); ?> <!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" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css" /> <!--[if IE]> <link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template_ie.css" /> <![endif]--> </head> <body> <div id="mainContent"> <div id="header"> <div id="sitename"><a href="<?php echo $this->baseurl ?>" alt="<?php echo $this->title; ?>" ><?php echo $this->title; ?></a></div> </div> <div id="rightHeader"><jdoc:include type="modules" name="topmenu" style="- 1"/></div> </div> <div id="mainCenter"> <jdoc:include type="message" /> <jdoc:include type="component" /> </div> <div id="footer">&copy;<?php echo date("Y"); ?> <?php echo $this->title; ?> All Rights Reserved.</div> </div> <jdoc:include type="modules" name="debug" /> </body> </html> ...

Get Using Joomla now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.