Today I’m going to give you an real life example on how to modify commercial extension in painless manner. If you know how to modify it – great, but is your approach best one? I’ve added functionality and modified behaviour of OSC’s OneStepCheckout extension without any fear of what will happen if client decides to upgrade it to newer version. And finally – here’s how!
First of all, exact thing I had to do is to implement Cdyne’s Address Verification to the checkout over their API. Now, since OneStepCheckout is commercial (and probably upgradeable) I couldn’t just open it’s files and modify them, since all that work would be gone in matter of seconds if client decides to install newer version, so I’ve decided to create an extension of my own that will depend on OneStepCheckout.
That was step 1.
Important things here are:
To do your modification as independent as much as you can.
To keep your work safe as much as you can from overwriting.
Additionally I didn’t want any unnecessary files in templates, as if I overwrite their checkout template file and if they decide to turn off my extension, there’s a big chance that they’ll get some sort of error on frontend, and nobody likes that. So, I’ve used approach that my colleague described here.