Difference between revisions of "JReviews Code Overrides"

From JReviews Documentation
Jump to: navigation, search
Line 19: Line 19:
  
  
*Read the [[How does the JReviews Theme Engine work]]
+
*Read [[How does the JReviews Theme Engine work]]
 
*Read the [[Default theme overview]] to learn the file structure
 
*Read the [[Default theme overview]] to learn the file structure
 
*Create a "jreviews_overrides" folder inside {site_root}/templates/
 
*Create a "jreviews_overrides" folder inside {site_root}/templates/
*Create a theme folder inside the jreviews_overrides folder like this:
+
*Create your custom theme folder inside the jreviews_overrides folder like this:
 
**<span style="color: blue">{site_root}/templates/jreviews_overrides/views/themes/'''mytheme'''</span>
 
**<span style="color: blue">{site_root}/templates/jreviews_overrides/views/themes/'''mytheme'''</span>
 
**'''Important''' - your custom theme must have a unique name, don't name it the same as one of the existing themes.
 
**'''Important''' - your custom theme must have a unique name, don't name it the same as one of the existing themes.
*Create a themeInfo.xml file which will contain the information regarding the theme. You can copy the file from Compact theme and adjust the values (<name> and <title> most importantly)
+
*Create a themeInfo.xml file which will contain the information regarding the theme. You can copy the file from Compact theme and adjust the values
 +
**<source lang="php">
 +
<?xml version="1.0" encoding="utf-8"?>
 +
<theme>
 +
    <creationDate>Aug 2011</creationDate>
 +
    <author>ClickFWD</author>
 +
    <authorEmail>[email protected]</authorEmail>
 +
    <authorUrl>http://www.reviewsforjoomla.com</authorUrl>
 +
    <copyright>Copyright (C) 2006-2011 ClickFWD LLC. All rights reserved.</copyright>
 +
    <license>Proprietary</license>
 +
    <version>2.3</version>
 +
    <description>This is my custom theme</description>
 +
    <settings>
 +
        <name>mytheme</name>
 +
        <title>My Theme</title>
 +
        <addon>0</addon>
 +
        <configuration>1</configuration>
 +
        <fallback>0</fallback>
 +
    </settings>
 +
</theme>
 +
</source>
 +
**<name> must be theme folder name that you created and for <title> is how it will be visible in JReviews Configuration
 
*JReviews will always look for images in your custom theme, so copy  the '''/theme_images''' folder with all its images from the default theme folder to your custom theme <span style="color: blue">{site_root}/templates/jreviews_overrides/views/themes/mytheme'''/theme_images'''</span>
 
*JReviews will always look for images in your custom theme, so copy  the '''/theme_images''' folder with all its images from the default theme folder to your custom theme <span style="color: blue">{site_root}/templates/jreviews_overrides/views/themes/mytheme'''/theme_images'''</span>
 
*If you will have css files you'll also need to copy the '''/theme_css/images''' folder to the custom theme
 
*If you will have css files you'll also need to copy the '''/theme_css/images''' folder to the custom theme

Revision as of 15:58, 18 August 2011


JReviews' code override functionality allows you to override any file located in the JReviews application folder at:

  • /components/com_jreviews/jreviews/


Why use the complete overrides functionality

The most common way to upgrade a component in Joomla is to uninstall it and then re-install it. This means that any code changes you might have made to the core files of the components could be lost if you don't have a back-up; it is also more difficult to keep track of the files that you've customized. With the code override functionality you can place your customized files in a folder outside of the JReviews component to keep all your customizations in one place and safe from upgrade losses. Of course you still need to check for file differences when there's an upgrade, because there might be bug fixes in your modified files, but now you can easily keep track of which files to check.

How do I use this capability?

Easy! Just create a new folder in the templates folder of your Joomla installation called "jreviews_overrides". This folder matches the jreviews folder inside com_jreviews so that:

  • {site_root}/templates/jreviews_overrides/ = /components/com_jreviews/jreviews/


How to create a custom theme

  • Read How does the JReviews Theme Engine work
  • Read the Default theme overview to learn the file structure
  • Create a "jreviews_overrides" folder inside {site_root}/templates/
  • Create your custom theme folder inside the jreviews_overrides folder like this:
    • {site_root}/templates/jreviews_overrides/views/themes/mytheme
    • Important - your custom theme must have a unique name, don't name it the same as one of the existing themes.
  • Create a themeInfo.xml file which will contain the information regarding the theme. You can copy the file from Compact theme and adjust the values
    • <?xml version="1.0" encoding="utf-8"?>

<theme>

   <creationDate>Aug 2011</creationDate>
   <author>ClickFWD</author>
   <authorEmail>[email protected]</authorEmail>
   <authorUrl>http://www.reviewsforjoomla.com</authorUrl>
   <copyright>Copyright (C) 2006-2011 ClickFWD LLC. All rights reserved.</copyright>
   <license>Proprietary</license>
   <version>2.3</version>
   <description>This is my custom theme</description>
   <settings>
       <name>mytheme</name>
       <title>My Theme</title>
       <addon>0</addon>
       <configuration>1</configuration>
       <fallback>0</fallback>
   </settings>
</theme>

FileRegistry.png


Notes about modifying Compact or Dark theme

Modifying JReviews core files


The framework will always check in the JReviews_overrides folder first to see if the file is there and if found it will use it instead of the core file.

Keep in mind that anytime you add a file to the overrides folder you need to clear the File Registry in the JReviews administration. Doing this allows JReviews to recognize the new file. Otherwise it will continue reading the file from the main component folder.

What happens with modified files when JReviews is upgraded

Your modified files in the overrides folder will not be deleted when JReviews is upgraded, but you will need to update those modified files if they are changed in new version of JReviews. Read What happens with modified files when JReviews is upgraded