In OpenCart (OC), extending your site's features usually results in modifying the program core codes. There are many reasons why this practise in not favorable - a major one is that it is not easily reversible. Say when you modified some codes and wanted to reinstate the original for some reason, it can be quite tedious.
This is due to the nature how OC handles extensions. Its normally done by overwriting existing codes instead of using plugin or module concepts employed in WordPress or Drupal. Honestly, this has been one of my top gripes about OC. I quit using OsCommerce for this very same reason years ago. Well, I love most of what OC has to offer so I have to live with it for the time being .
But all is not lost - there is a rescue!
Recently I notice a lot of people were talking about vQmod and OC ver 1.5 supports it. Interestingly, vQmod was originally developed for OC! But due to "openess" of the design, it has been used by other systems too.
Nobody can offer a better answer to this question other than the people at vQmod and this is what they have to say:
"vQmod™" (aka Virtual Quick Mod) is an override system designed to avoid having to change core files. The concept is quite simple... Instead of making changes to the core files directly, the changes are created as xml search/replace script files. These script files are parsed during page load as each "source" core file is loaded with the "include" or "require" php functions. The source is then patched with the script file changes, and saved to a temp file. That temp file is then substituted for the original during execution. The original source file is never altered. This results in a "virtual" change to the core during execution without any actual modification to the core files.
In a nutshell, you don't mess up with the core files while doing modifications but the same result is achieved at the end. According to the developers, the impact to the overall site performance is negligible. You can read more details at vQmod.
Typically this step is easier than the installation above. Please note that NOT all OC Extensions are meant for vQmod so those that are compatible are marked as such. While you're at OC Extension page try exploring the "vQmod" category and you'd see a list of extensions with vQmod version.
While Vqmod is somewhat helpful, OC still doesn't support full "auto-install & auto-upgrade" of extensions as seen in WordPress, Joomla, Drupal and many others. There are still "manual" file handling tasks to be carried out using FTP etc. My hope is that OC will be more at par comparing to other platform in this respect so that we all can be more productive.
Finally, while the are benefits in using vQmod, it might not be suitable to all your needs so use it with care .
Anything you'd like to point out? Just leave us a comment below.