One of our main issues with OpenCart is the lack of a decent modification system.
As of OpenCart 2.3 and 3.0, it's possible to modify OpenCart via vQmod, OCMOD, the event system and a number of third party override systems.
However, none of them are good enough to drop the others. Modifying OpenCart through vQmod and OCMOD is a dangerous practice of introducing low level code edits, OpenCart's event system has limitations when it comes to changes in templates and third party override systems aren't great either.
Therefore, MultiMerch 8.13 Beta is introducing the initial version of the MultiMerch hook system for simple and safe modifications of MultiMerch and OpenCart.
The future of hooks in MultiMerch
The main objective of the new hook system is to make it possible to modify most parts of MultiMerch without directly editing core files.
We want to make it possible for developers to build MultiMerch plugins that don't fall apart when used together with other plugins.
The core part of the hook system are hooks. Hooks are triggers that are placed throughout MultiMerch core and can have functions and methods attached to them.
As of now, there are two types of hooks – actions and filters.
Actions can be used to call third party methods when the action is fired, which is useful for modifications to controllers, models and libraries.
Filters additionally expect a return value from the method that is attached to it, which can then be inserted into filter's location.
The new system is designed to ultimately get rid of low level code modifications within MultiMerch and make it possible to build a stable ecosystem of MultiMerch plugins for marketplace owners.
Hooks are currently in the alpha stage and are thus not recommended for use in production - further documentation will be provided when it gets stable and production-ready.
Cleanup of system/vendor/ libraries and OpenCart overrides
In MultiMerch 8.13, we've cleaned up a number of deprecated MultiMerch libraries and overrides of OpenCart core files from system/vendor/multimerchlib/.
This means better stability with third party OpenCart themes and extensions, but may cause issues on older setups running older versions of OpenCart 2.0 and 2.1.
If you're running an older version of OpenCart 2.x other than 18.104.22.168 we strongly recommend you update to 22.214.171.124 as soon as possible.
MultiMerch 8.13 Beta will shortly become available in your MultiMerch accounts!
However, please note that it is a Beta version and don't install it live marketplaces just yet – it should be out of Beta by next week.