How to override Solidres translation per property's category

UPDATE: since Solidres for Joomla 2.9.0, you don't have to edit files manually to make override, we have an UI for you, check it out here: https://www.solidres.com/blog/2019/10/15/new-feature-highlight-language-override-per-propertys-category/

Since Solidres for Joomla v1.9.0, a new useful feature is added to allow overriding Solidres translation per property's category.

Why we need it? For example, your website has 02 asset's categories: Hotels, Apartments and by default in the front end, Solidres uses the word "Room and rates" in single reservation asset view.

How to override Solidres language per asset's category

While it is appropriate for assets in category "Hotels", it is not quite correct for assets in category "Apartments" which should read "Apartment & Rates", so how to deal with this scenarios?

First, you need to create an override language file in the following folder (assumes you are using English - en-GB).

JOOMLA_ROOT/components/com_solidres/language/en-GB/en-GB.com_solidres_category_9.ini

The file name is quite simple, all you need to do is to replace the number at the end of the file name to your asset's category ID.

Inside that file, you can put your override translation, for example, SR_STEP_ROOM_AND_RATE="Apartment & Rates"

Then in the front end, Solidres will automatically detect and load override language file according to the current viewed asset's category.

How to override Solidres language per asset's category

How to override Solidres layouts

Being a native Joomla extension, Solidres inherits many great Joomla's features and one of them is the ability to do template's overrides.

If you are new to Joomla override, there is a good read for you:

http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core

In short, template override feature allows you to modify a component's output (View, Layout) without having to modify the component directly, instead of that you will modify a copy which is stored in your template folder

All component's views in Solidres are overridable, all you need to do is to copy a view file and put it into your template folder.

For example, if you want to change how the Simple Gallery is displayed in the front end, first you need to copy the following file:

/components/com_solidres/views/reservationasset/tmpl/default_simple_gallery.php

And paste it into: /templates/your_template_name/html/com_solidres/reservationasset/default_simple_gallery.php

Then you can start editing it. Your changes will be kept intact, it will not be overwritten when you update your Solidres to new versions.

In addition to view files, in Solidres we also utilize JLayout which is a great feature, we mainly use it for our Ajax responses rendering, you can find them at the following location:

/components/com_solidres/layouts/

To make template override for those layout files, the steps are quite similar: First, you need to copy the target layout file, for example:

/components/com_solidres/layouts/asset/roomtypeform.php

Then paste it into your template folder, but in a different folder with the normal view files:

/templates/your_template_name/html/layouts/com_solidres/asset/roomtypeform.php

Note: if the view you want to override is a Solidres plugin like Hub or Experience, although the view files are not stored in Solidres component folders, you can still treat it like a normal Solidres's views, for example if you want to override the default search view of Hub plugin which is located in this folder: /plugins/solidres/hub/components/com_solidres/views/search/tmpl/default.php, you can copy it to /templates/your_template_name/html/com_solidres/search/default.php

How to override Solidres CSS

If you want to modify the CSS of Solidres, you would think about modifying Solidres CSS file which is located in /media/com_solidres/assets/css/main.css, however directly modify that CSS file will make the upgrade of Solidres harder in the future. Fortunately, Joomla provides a great way to override extension’s file.

To override Solidres CSS file create a new folder in your template to store the override CSS file and copy /media/com_solidres/assets/css/main.css into it so that you will have the following structure /templates/your_template_name/css/com_solidres/assets/main.css.

Now Solidres will automatically load CSS from the new override folder instead of the original one.

How to override Solidres's widgets in your theme

All widget layout files of Solidres plugins for WordPress are located in /wp-content/plugins/SOLIDRES_PLUGIN_NAME/templates/widgets/

So if you want to add some modification, just copy /wp-content/plugins/SOLIDRES_PLUGIN_NAME/templates/widgets/*.php flie to the wp-content/themes/THEME_NAME/solidres directory.

And change the files to your needs.

Further this way you won't lose any of your changes after an upgrade of the plugin.

Make sure to only copy the files you want to change, all other files will be loaded automatically from the system defaults.

All the things you need to make your work easier. Did you like Solidres?