Starting in Wright 3.6, you can safely add custom template overrides to the Wright base template and our commercial templates.
This will make possible to tweak the templates without touching the core Wright files, and protect your changes for future Wright updates.
How to create a custom template override in Wright templates
Please note we are using Wright base template as example. If you want to add a template override to another Joomlashack template, replace js_wright
with the name of the template you're using. As example: js_community
, js_vintage
, js_elan
, etc.
Depending what extension you want to override (as example, the design for articles component means you would override /com_content/
), please check in /templates/js_wright/html/
if the folder for that extension actually exist. If exists, don't place your override inside /html/
folder, do it instead inside /templates/js_wright/overrides/joomla_3.0/
.
In this example the path would be /templates/js_wright/overrides/joomla_3.0/com_content/
.
This is a slight different approach to native template overrides that live in html folder. The custom overrides in Wright works in same way, just the location is different.
Which template overrides are supported
All the common templates overrides are supported. The custom overrides should be done depending the case as explained in coming lines.
To avoid losing your customizations in every new Wright update, we highly recommend you to add your own overrides through /templates/js_wright/overrides/joomla_3.0/
folder for the components and modules listed below:
You can also do overrides for these layouts:
If the component, module or layout file doesn't exist inside /templates/js_wright/html/
folder, then you need to place two files:
- One inside
/templates/js_wright/overrides/joomla_3.0/
- Here you place your custom design. - Place a regular override in
/templates/js_wright/html/
- Here you place the code below to point to your final override replacing/path/to/custom/file.php
with your own.
<?php
defined('_JEXEC') or die;
$app = JFactory::getApplication();
require_once(JPATH_THEMES.'/'.$app->getTemplate().'/overrides/joomla_3.0/path/to/custom/file.php');
?>
As example, if you override the tags.php layout from /layouts/joomla/content/tags.php, you would place the code below in /templates/js_wright/html/layouts/joomla/content/tags.php
<?php
defined('_JEXEC') or die;
$app = JFactory::getApplication();
require_once(JPATH_THEMES.'/'.$app->getTemplate().'/overrides/joomla_3.0/joomla/content/tags.php');
?>