Customize Layouts & Overridden


OS Property has unique structure. At front-end, there are 3 main parts:

  • Core classes
  • Layouts
  • Themes

Core class files are placed in directory: components/com_osproperty/classes. They are used to define the main functions of the OS Property at front-end. By some reasons, you need to make the modification on those files, you need to remember 2 below points:

  1. After modification, if you install new OS Property versions, your modification will be lost and you need to re-do the customization
  2. You shouldn't put the back-up of modified file in the same directory "classes" to avoid PHP Fatal error

Layout files are different pages of OS Property like Agent listing, Agent registration, Companies listing, Categories listing ..etc. The layout files are placed at: components/com_osproperty/helpers/layouts directory. You can read part Customize layout to see how to make the change on these files without overridden when installing new OS Property version.

Themes is mentioned at part Themes management at Back-end part of this documentation. So that, in this article, we will tell you how to make the modification on core theme of OS Property without overridden. Firstly, you need to go to Back-end > OS Property > Manage OSP Themes. Here, you can see the list of available themes of OS Property. Select Theme that you want to modify, and click on button: Duplicate on Toolbar of page. OS Property will create the copy version of existing Theme. Now, you can open directory: components/com_osproperty/templates/new_copied_theme and modifying files in that theme without losing the customization when you install new OS Property version.

Notice: Within Support scope, we can agree to make some minor modification on Core class files of your OS Property version. But we won't be responsible to re-do them when you install new OS Property version.

Customize Layout

Joomla allows you to overwrite output of any components and modules from the template (Checkout more about this here:!_core) so OS Property also allows you to do that easily.

Example: To overwrite output of product details page, you need to copy file: components/com_osproperty/helpers/layouts to folder templates/your_template/html/osproperty/layouts/ and modify this file from the template.

Once the file is putted in the template folder, it will be used instead of the file in the OS Property component. So in the future, if you update OS Property, the your modifications will be not lost.

You should use overwrite output from the template in the case you just have some minor changes on a few of pages.