Here are a few details about my setup, the problem I'm having and the kind of help I'm looking for.
The stack
I run an opencart 2.3.0.2 installation with:
- mysql 5
- php-fpm 7.1 built with certain extensions
- nginx mainline
I tried not to make any unnecessary modifications to the system but when I do, I always make them as a vqmod to keep the original file intact, improve maintainability in the future and prevent possible clashes with other modifications.
The store heavily depends on Multimerch and also a bit on Basel theme.
When it comes to extensions/mods here is what I'm using:
OCMODs
- Basel Theme*
- Export/Import Tool (V3.21) for OpenCart 2.x
- Fix Contact Form
- Ocmod FTP Bypass Installer
VQMODs
- enhanced_vqmod.xml
- fix_emails.xml**
- multimerch_basel.xml
- multimerch_c_hooks.xml
- multimerch_core.xml
- multimerch_core_admin.xml
- multimerch_core_overrides.xml
- multimerch_core_productpage.xml
- multimerch_core_sellerinfos.xml
- multimerch_core_sellerinfos_new.xml
- multimerch_core_sellermenu.xml
- multimerch_core_seo.xml
- multimerch_core_transactions.xml
- multimerch_core_variations.xml
- multimerch_oc23_compatibility_fixes.xml
- vqmod_opencart.xml
There is this Multimerch feature that lets the seller add a special price for their product. If the seller adds a special price entry they have to supply the start date and the end date of this entry. Right now the end date elements are somehow gone.
This is what it looks like:

And this is what is supposed to look like:

So far I have tried to set up a vanilla installation using the same dockerized stack structure but only installed Multimerch and Basel (and their dependencies like VQMOD).
This actually has the specials feature working as it should!
This probably means that some other mod somehow interferes with this template but, as it turns out it is harder to debug than I have thought.
What I'm looking for
What I'm asking is a way to resolve this issue in a proper manner.
No monkey patching.
If it means a third party addon/extension/mod has to update their code then this could most probably be done using a VQMOD or with a modification of their VQMOD/OCMOD.
I wouldn't mind recommendations/help on how to properly debug and resolve this but feel free to send me a quote for your potential work if you want to get your hands dirty.