Page 1 of 1

Extending OpenCart

Posted: Wed Sep 06, 2017 4:10 am
by petiar
Hi there,

I need to add some custom fields to category and products. Of course, that has to be done without modifying core files, so I do not lose my changes with updating core. How do I do that?

How do you usually deploy your projects? Is there any way how to export db configuration to files so I can add it in version control system?

How do I add link to the admin menu programmatically, from my controller?

Thanks.

Re: Extending OpenCart

Posted: Wed Sep 06, 2017 4:47 am
by yodapt
You can use OCMod or VQMod to extend Opencart's functionality without editing core files directly.

Re: Extending OpenCart

Posted: Wed Sep 06, 2017 5:24 pm
by petiar
"vQmod keeps a list of filenames and changes required, in the form of one XML file per extension. These changes are then created as the core files are used, and the resulting files are stored as cached copies which are executed instead of the original, core PHP or TPL file."

Kidding, right? Ever heard of OOP, guys?

Re: Extending OpenCart

Posted: Wed Sep 06, 2017 5:53 pm
by JNeuhoff
You got 4 different ways to modify OpenCart core files:
  1. OCmod
  2. VQmod (either the Integrated VQmod, or Qphoria's VQmod)
  3. Event handlers
  4. Override Engine

Re: Extending OpenCart

Posted: Thu Sep 07, 2017 7:31 am
by yodapt
petiar wrote:
Wed Sep 06, 2017 5:24 pm
Kidding, right? Ever heard of OOP, guys?
Dont go there, we all went there and got nothing in return. It is how it is.

Re: Extending OpenCart

Posted: Thu Sep 07, 2017 8:39 am
by IP_CAM
Of course, that has to be done without modifying core files,
so I do not lose my changes with updating core.


Well, you will loose your changes anyway :D , by updating OC-Core,
so, better don't worry about too much. By use of OcMod or VqMod,
it's the easiest way, to eventually make changes later work again with
upgraded Source. Just don't bet on it, OC has and will still be changing
for a good time to come, and new ways of doing it require new ways of
implementing Mods, by Nature of Things!

Just to add my 2 Cents on this 8)
Ernie

Re: Extending OpenCart

Posted: Thu Sep 07, 2017 8:30 pm
by cedcommerceteam
You can use VQMod or OCMod to extend Opencart's functionality without touching core files so that updates will not remove your changes.

Code: Select all

<file name="path from admin or catalog dir to file you want to modify">
	<operation>
		<search position="after">
			<![CDATA[
				// find string after which you want to add your code 
				]]>
		</search>
		<add>
                          <![CDATA[
                            //  code you want to add
			  ]]>
               </add>
       </operation>
<file>   

Code: Select all

<file name="admin/controller/common/header.php">
	<operation>
		<search position="after">
			<![CDATA[
				$results = $this->model_setting_store->getStores();
				]]>
		</search>
		<add>
                          <![CDATA[
                            //  code you want to add
			  ]]>
               </add>
       </operation>
<file>     
you can not add menu programmatically but you can add menu using VQMod or OCMod or modify vqmod xml file by your controller and clear cache programmatically to achieve your requirement of dynamic menu adding in admin.