This manual is being depreciated. Much of the information here is out of date.

The new Jomres Documentation, updated in 2022, can be found at Jomres.net/documentation.

Template Override Packages

The Template Override Packages feature is new in Jomres 9.9.0.

Updated for 9.9.18

Do not confuse Jomres templates with Wordpress or Joomla Themes. Files delivered in Template Override Packages are purely used to override individual Jomres template files.

Note : The Template Override Manager menu option will not be shown until  you have installed at least one template override package.

The purpose of this feature is to allow us to provide new templates through the Jomres Plugin Manager. These templates override both those in /jomres/templates/ and /templates/TEMPLATENAME/com_jomres/html

Override manager view

Overriding core or theme files

You can install as many of these plugins as you want, individual templates don't override other templates until they're specifically configured to do so. This gives you the ability to pick and choose exactly which templates you want to use in Jomres.

In this screenshot we have several Template Packages plugins installed, but none of the overriding templates are active.

 

None active

We can now choose to use a different property_header.html template by clicking on the Edit button next to property_header.html. This takes us to a new page where we can choose which template file should override the default template file.

Choose template


For some template packages, you might find that there are several template files included. In the "Template Package Booking Form Layouts" plugin there are actually 3 template package files : dobooking.html, booking_form_classic_roomslist.html & booking_form_classic_roomslist_selected.html. dobooking.html is the template used when booking rooms in a property, and this example is used to show the rooms lists as columns instead of rows and makes the Totals div slide down the page with the help of a new javascript file. The two rooms list templates are customised versions of the core template file, they are designed to output very little information so that they fit nicely into columns.

Before we can see how it looks, we first need to activate the three files. To activate a template click on the Edit button and select the description of the overriding template.

Activate a template

With all three templates overriden, the booking form for hotels/B&Bs will look like this

Booking form overridden

Can I stop a template override from happening?

Yes, very easily. Just use the Delete option as shown here. It doesn't delete the file from your system, instead it just removes the override from the database. Jomres will now fall back to using a corresponding file in the theme if it exists, or the Jomres Core one if it doesn't.

Delete override

Can these template packages be used with other Joomla or Wordpress Themes?

Officially we will describe which of our own theme's an individual package's template files (currently just Leohtian) however they are built using Bootstrap 3 standard markup therefore they should in theory work with most Bootstrap 3 compatible themes.

Update 9.9.18

In 9.9.18 I reworked this functionality a little. Previous to 9.9.18 you could only easily provide one flavour of template files in a package, e.g. for Bootstrap 2, or 3, because by default the supporting code would only look in the root of the plugin's directory for the template file, when saving the override.

As of 9.9.18, when saving the override, the supporting code will also look in /plugin_name/templates/bootstrapX/ where X is the current version of Bootstrap. This allows you to produce different template packages for different flavours of Bootstrap.

Another change in 9.9.18 is in response to several feature requests made when this feature was first created. In the /plugin_name/templates/bootstrapX/ directory you can create a subdirectory such as /plugin_name/templates/bootstrapX/5/ where 5 corresponds to a property type ID. What this means is that you can have different templates for different property types.