Template Overrides are files that reside in the html folder in your template files that override core Joomla files. Having override files makes it so you don't need to edit the core files, which can be dangerous.

If you wish to change some basic functionality for the Joomla Core files, you can go ahead and edit those core files if you know what you are doing. The problems with editing core files are:

  • you can alter something enough to break the site
  • the changes you make could harm the functionality of the Joomla files and cause problems with missing information
  • when you make updates to Joomla, these changes will be overwritten

An alternative method to editing the core files is to create "overrides"

Here is a link to the Joomla Documentation on How to override the output from the Joomla! core

The proper directory structure for the overrides

The tricky part is getting the files into the proper directory structure. Luckily, the latest versions of Joomla 3 have a way to create these override files and edit them right from the administration menu. It creates the directory structure for you so there is no risk on your part of getting the path and file names wrong. Still it's a good thing to know what is going on in the case that you need to remove or edit these files.

Earlier versions of Joomla 3 do not have this feature to create overrides from the Administrative Menu.

The correct directory structure for your override files is:

TEMPLATE_NAME/html/EXTENSION_NAME/VIEW_NAME/FILE_NAME.php

For Example:

If you wanted to override the core file that controls the way an article is laid out, copy the original into the new directory inside your html directory of your template files and edit it from there. Say for example you are using the protostar template. Use the following structure:

JOOMLA_ROOT/components/com_content/views/article/tmpl/default.php

JOOMLA_ROOT/protostar/html/com_content/article/default.php