Menu

Professional, performant and accessible Joomla extensions

Join the club of professionals who care about their web site.

Get Swiss made extensions from a team of Joomla core developers!

We do it with love since 2007.

Compatible with Joomla 5!!

Show me more ...

Get it free

Our mission is to be a gear of the Joomla Ecosystem and their community. We respect the Open Source ideology. That's why we offer fully functional FREE versions of our products. All of our extensions are GPL licensed to give you freedom to use. No calls home to ensure your privacy.

Download

Become a pro

Digital Peak develops professional and rock solid Joomla extensions. Are you looking for advanced features and top support? Our competitive subscription bundles have clear prices and no hidden fees. We even have a relaxed 30 days money back guarantee, no question asked!

Subscribe
Joomla overrides

Before we start, Joomla template overrides are a very good tool for site integrators to adapt the core to their needs. But it is a pain for extension developers like us. Why? We will tell you, read on.

What are template overrides?

Template overrides do require some basic PHP, HTML and CSS knowledge. So it is not a tool for everybody who uses Joomla. It allows site integrators to override the output of any extension in a template. It helps when you have a special requirement which can't be controlled by an option or when you need to change the HTML markup. Basically you can copy the view file (mostly default.php) from the extension view folder to your template html folder. The Joomla view renderer will then automatically pick the one form your template instead of the one from the component. It works for core and 3rd party components, modules, plugins and layouts. More documentation can be found on the web or in the official Joomla docs.

What is the problem?

As the view file is a copy of the original file, the problem comes on upgrades. When the original file has changed after an extension is upgraded. For example when new code is added, then the override doesn't get adapted. This can lead to errors or missing features. This is not a problem only for extension developers, also the core is affected. As we introduced custom fields, some templates had an override for the front end article editing form from an old version which was not able to display custom fieldsets in the form. But this are not regular cases in core as new features get added on a much slower pace.

For extension devs it becomes a real problem as we ship new features more often. For example in the release of DPCalendar 6.2, we replaced some javascript libraries with new ones and added the defer attribute to load them faster. All of this happens in the template files (eg. default.php). If you have an override in place, then it still tries to load the old files and can crash your site.

Is it then not a BC break?

You can argue that it is a BC (backwards compatibility) break. But it is hard to expand BC in layout files, otherwise they will become bloated. It would then also mean that every new feature would require a new major version which would be insane.

Is there a solution?

Don't do overrides! Wait, really? It is not that dramatically. But you should really consider if an override is needed or if the changes can be done trough CSS as well. We have many customers who want to do overrides, but then we figure out that it is possible to make the changes with CSS commands too. Or we have already an option which does the job. Yes we have a lot of options, so you can control a lot within DPCalendar.

Joomla has a very minimalistic override management UI which doesn't help here much. So what we did, for Google Summer of Code 2018, added a proposal to spice up the override management. Basically you need a diff viewer and an override detector when an extension or the core is upgraded and inform the site owner that layout files have changed where an override exists in the template.

We hope to shed some light into the biggest issue of Joomla overrides.

Why Digital Peak

Software should work for you – it should be simple, accessible, easy to use and above all, it should do what it says on the tin. But it isn't always the case and unless you have some pretty high level technical knowledge, you are going find it pretty tricky to make it work in the way you want. This is where Digital Peak comes in. The development of products to make your use of software easier and more productive is what we are all about. Well, that, and a lot more besides.

Meet the team ...

Latest Blog Posts

Piwigo banner
New Piwigo plugin Apr 25 2024

Piwigo is a very famous image gallery in the PHP eco system. It was time to connect it with the Joomla media manager.

Casette, indicating an old version
Minimum PHP 8.1 and Joomla 4.4, except DPCalendar Mar 26 2024

PHP 8.0 is end of life and PHP 9.0 is approaching. It is now the right time to lift our minimum PHP and Joomla requirements for our extensions, except DPCalendar.

Filter
Improved code quality and new CDN updates urls Jan 23 2024

Our continuous integration platform has been in operation for quite some time now and the amount of system tests, which are testing our extensions on every code change, are growing rapidly. An area...

Letters
New translation system Dec 11 2023

Digital Peak is located in Switzerland where we have four national languages, multilanguage is basically in our blood. This is the reason why our extensions speak many different languages. So it is...

Earth as intro image
Spicing up DPCalendar Nov 21 2023

As our products are famous for their integration into other services and Joomla extensions, we are happy to deliver an update with even more possibilities within DPCalendar. Our YOOtheme Pro and...

Man waiting for Joomla 5
Why Joomla 5.0 is the most important release in history Sep 23 2023

In this article we give you some insight about the next major release 5.0 of our lovely Joomla CMS. This article doesn't list the new features, it is more about the importance of the first major...

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.