Therefore making it easier to keep upgrading without redoing all the change you have done.
Keep in mind that you always have to check if your modifications are still working with the new release. So that it works with the program and not breaking it!
For each page there are the following functions.
Code in the custom folder of a module is save from updating but not always when you install a new module.
Before the pages pre_process.php is called the program will try to call the extra_defines.php this file can contain extra variables or constants. If you output information at this stage you will get the error HEADER already sent. The file should be located in /modules/%module_name%/custom/pages/%page_name%/extra_defines.php (replace the %% with appropriate values). The functions in the file includes/common_functions.php and the classes in the includes/common_classes.php will be loaded and can be used.
Each pre_process.php will make a call to the extra_actions.php in this file you can add your own custom code. ie check if variables are set right like when for a inventory item the option add to webshop is selected that the webshop menu isn’t empty (for zencart module users). In that case you can halt the execution and prevent the user form saving.
this file should be located in the /modules/%module_name%/custom/pages/%page_name%/extra_actions.php
When information is presented to the user. It will be displayed in a template. Some pages have multiple templates others only one. The same as with the previous two options you can create a copy of the template in the /modules/%module_name%/custom/pages/%page_name%/%template_name%.php. This will allow you to change the flow of the page.
I assume that you have language files that contain your language but there are some fields that should be named different. Than you can overload the current version. Copy the file you want to change to /modules/%module_name%/custom/languages/%language_code%/%language_file%.php. And modify the line you want.
Sinds release 3.5 we are trying to use more classes for the program. At (release 3.6) the moment you can create a copy of the processing class for the following modules contacts / inventory and phreepos. The class should be located in the /modules/%module_name%/custom/classes/%class_name%.php. Keep in mind that if the code in your class is broken it won’t fall back on the main class.
if the code isn’t returning results the way you hoped have a look in the error.log in the your files folder in case of java script have a look in the java script error console of your browser.