Post by pm-netti » Thu Sep 26, 2019 5:43 pm

Hi

I am going large extension. It is "extesnion group" to folder 'shipping', this is one file in admin, 'test.php'. I there install eg. extension 'test_group_busspackage' (there is not file 'test_group_busspackage', it file is only in folder catalog/model/extension/shipping.
All go ok, but when I click link 'Extensions' and return to list Extension/shipping, system remove from database setting 'test_group_busspackage'. If I create this "empty" file admin/controller/extension/shipping/test_group_busspackage.php, setting is not remove:

Code: Select all

<?php
class ControllerExtensionShippingTestGroupBussPackage extends Controller {
	public function index() {
		return true;
	}
}
Why Oc remove settings?

User avatar
Active Member

Posts

Joined
Sat Apr 07, 2012 11:22 pm
Location - Kittilä, Finland

Post by pm-netti » Sat Sep 28, 2019 1:45 am

Is this too amazing expansion pack :D
This is a little refinement on how to make extensions that don't have their own file in admin/controller/extension/shipping/test.php:

Code: Select all

 if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
	 $this->model_setting_setting->editSetting('shipping_test', $this->request->post);

	 if (isset($this->request->post['shipping_test_group_busspackage_status']) && $this->request->post['shipping_test_group_busspackage_status'] == 1) {
	     $this->model_setting_setting->editSetting('shipping_test_group_busspackage', $this->request->post);
	}
  }

......................................

$this->load->model('setting/extension');

$this->model_setting_extension->install('shipping', 'test_group_busspackage');
There are a total of 25 related files on the front page in folder catalog/model/extension/shipping.
Problem is so it, that Opencart shipping list remove these settings, because they do not have their own shipping file. Why and how?

User avatar
Active Member

Posts

Joined
Sat Apr 07, 2012 11:22 pm
Location - Kittilä, Finland

Post by pm-netti » Sun Sep 29, 2019 9:21 pm

Found!
File admin/catalog/extension/extension/shipping.php line 73:

Code: Select all

$this->model_setting_extension->uninstall('shipping', $value);
I did modification:

Code: Select all

<search><![CDATA[$this->model_setting_extension->uninstall('shipping', $value);]]></search>
<add position="replace"><![CDATA[
              $shipping = explode('_',$value);
              if(isset($shipping[0]) && isset($shipping[1])){
                  if($shipping[0] !='test' && $shipping[1] !='group'){
                      $this->model_setting_extension->uninstall('shipping', $value);
                  }
              }]]></add>

User avatar
Active Member

Posts

Joined
Sat Apr 07, 2012 11:22 pm
Location - Kittilä, Finland
Who is online

Users browsing this forum: Nordikota and 134 guests