Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Indirect modification of overloaded


Recommended Posts

Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 8
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 10
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 16
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 22
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 24
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 25
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 27
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 28
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 29
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 30
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 37
Notice: Indirect modification of overloaded property ControllerExtensionShipping::$data has no effect in /system/storage/modification/admin/controller/extension/shipping.php on line 45
Notice: Error: Could not load model /admin/model/setting/extension.php! in /system/storage/modification/system/engine/loader.php on line 63

В одном магазине попросили обновить модули доставки.

После обновления при заходе в раздел доставки модификаций в админки выкидывает эту кучу ошибок.


Вычистил полностью обновляемые модули - не помогло.

В процессе очищал кеш модификаий, видимо какой то старый глюк всплыл.

Я понимаю, что проблема где то в несовместимости с версией ОК, но как найти из за какого модуля?

Link to post
Share on other sites

И попутно вопрос.

 

Заказывал адаптацию хлебных крошек. Сейчас в поисках решения проблемы описной выше заметил, что все написано через $this->data, надо все это заменять при условии что валидация проходит, но в поисковой выдаче хлебных крошек нет.

Link to post
Share on other sites

Выкачал все файл, произвел поиск, ни где не запрашивается 

/admin/model/setting/extension.php

И его фактически нет. Я же правильно понимаю, что это рудимент от первой ветки?

Link to post
Share on other sites

искать вот это $this->data

 

Кто-то с 1.5 решил поставить модуль на , или модифицировать на 2-ку

 

а еще и на 2.3

admin/controller/extension/shipping.php on

 

Но зачем?

Link to post
Share on other sites
9 минут назад, chukcha сказал:

искать вот это $this->data

 

Кто-то с 1.5 решил поставить модуль на , или модифицировать на 2-ку

 

а еще и на 2.3


admin/controller/extension/shipping.php on

 

Но зачем?

$this->data не мало по сайту, но доставку ни как не затрагивает.

Link to post
Share on other sites

Вот полный список файлов с  $this->data

 

2017-10-17_06-06-55.png

2017-10-17_06-06-31.png

2017-10-17_06-05-45.png

2017-10-17_06-05-20.png

Link to post
Share on other sites

Вот полный список файлов с  $this->data

2017-10-17_06-05-45.png.365f63b60df845e77fc60a4d2aad06ba.png2017-10-17_06-05-20.png.79eb1d21be664d57dbc817d6889d9741.png2017-10-17_06-06-31.png.50bf9d331cb936f20335240cf2c4b443.png2017-10-17_06-06-55.png.c467e4a89a8302cb6821ce53e6498bc2.png

Edited by t04ka
1
Link to post
Share on other sites

Хотелось бы услышать мнение @markimaxтак как большинство файлов от seocms.

Link to post
Share on other sites

так ведь никто не запрещает,
Я тоже этим ползовался
В классе контроллера объявляете свою переменную $data, и юзайте ее сколько угодно

 

я ту глянул, у вас версия 2.1?

  • +1 2
Link to post
Share on other sites
11 минут назад, t04ka сказал:

Хотелось бы услышать мнение @markimaxтак как большинство файлов от seocms.

Не большинство :)
Когда стоит protected $data - это никак не повлияет на других

А что за код внутри ?

/system/storage/modification/admin/controller/extension/shipping.php

Обычно такая ошибка возникает когда не обьявили $data

  • +1 1
Link to post
Share on other sites
32 минуты назад, chukcha сказал:

так ведь никто не запрещает,
Я тоже этим ползовался
В классе контроллера объявляете свою переменную $data, и юзайте ее сколько угодно

 

я ту глянул, у вас версия 2.1?

да

Link to post
Share on other sites

39 минут назад, markimax сказал:

Не большинство :)
Когда стоит protected $data - это никак не повлияет на других

А что за код внутри ?


/system/storage/modification/admin/controller/extension/shipping.php

Обычно такая ошибка возникает когда не обьявили $data

Спойлер

<?php
class ControllerExtensionShipping extends Controller {
	public function index() {
		$this->language->load('extension/shipping');
		 
		$this->document->setTitle($this->language->get('heading_title')); 
  		
		$this->data['breadcrumbs'] = array();

   		$this->data['breadcrumbs'][] = array(
       		'text'      => $this->language->get('text_home'),
			'href'      => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),
      		'separator' => false
   		);

   		$this->data['breadcrumbs'][] = array(
       		'text'      => $this->language->get('heading_title'),
			'href'      => $this->url->link('extension/shipping', 'token=' . $this->session->data['token'], 'SSL'),
      		'separator' => ' :: '
   		);		
		
		$this->data['heading_title'] = $this->language->get('heading_title');

		$this->data['text_no_results'] = $this->language->get('text_no_results');
		$this->data['text_confirm'] = $this->language->get('text_confirm');
				
		$this->data['column_name'] = $this->language->get('column_name');
		$this->data['column_status'] = $this->language->get('column_status');
		$this->data['column_sort_order'] = $this->language->get('column_sort_order');
		$this->data['column_action'] = $this->language->get('column_action');
		
		if (isset($this->session->data['success'])) {
			$this->data['success'] = $this->session->data['success'];
		
			unset($this->session->data['success']);
		} else {
			$this->data['success'] = '';
		}
		
		if (isset($this->session->data['error'])) {
			$this->data['error'] = $this->session->data['error'];
		
			unset($this->session->data['error']);
		} else {
			$this->data['error'] = '';
		}

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

		$extensions = $this->model_setting_extension->getInstalled('shipping');
		
		foreach ($extensions as $key => $value) {
			if (!file_exists(DIR_APPLICATION . 'controller/shipping/' . $value . '.php')) {
				$this->model_setting_extension->uninstall('shipping', $value);
				
				unset($extensions[$key]);
			}
		}
		
		$this->data['extensions'] = array();
		
		$files = glob(DIR_APPLICATION . 'controller/shipping/*.php');
		
		if ($files) {
			foreach ($files as $file) {
				$extension = basename($file, '.php');

            /* start russianpost2 */
			if( preg_match("/^russianpost2f/", $extension) ) continue;
			/* end russianpost2 */
            
				
				$this->language->load('shipping/' . $extension);
	
				$action = array();
				
				if (!in_array($extension, $extensions)) {
					$action[] = array(
						'text' => $this->language->get('text_install'),
						'href' => $this->url->link('extension/shipping/install', 'token=' . $this->session->data['token'] . '&extension=' . $extension, 'SSL')
					);
				} else {
					$action[] = array(
						'text' => $this->language->get('text_edit'),
						'href' => $this->url->link('shipping/' . $extension . '', 'token=' . $this->session->data['token'], 'SSL')
					);
								
					$action[] = array(
						'text' => $this->language->get('text_uninstall'),
						'href' => $this->url->link('extension/shipping/uninstall', 'token=' . $this->session->data['token'] . '&extension=' . $extension, 'SSL')
					);
				}
										
				$this->data['extensions'][] = array(
					'name'       => $this->language->get('heading_title'),
					'status'     => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
					'sort_order' => $this->config->get($extension . '_sort_order'),
					'action'     => $action
				);
			}
		}

		$this->template = 'extension/shipping.tpl';
		$this->children = array(
			'common/header',
			'common/footer'
		);
				
		$this->response->setOutput($this->render());
	}
	
	public function install() {
		$this->language->load('extension/shipping');
		
		if (!$this->user->hasPermission('modify', 'extension/shipping')) {
			$this->session->data['error'] = $this->language->get('error_permission'); 
			
			$this->redirect($this->url->link('extension/shipping', 'token=' . $this->session->data['token'], 'SSL'));
		} else {		
			$this->load->model('setting/extension');
		
			$this->model_setting_extension->install('shipping', $this->request->get['extension']);

			$this->load->model('user/user_group');
		
			$this->model_user_user_group->addPermission($this->user->getId(), 'access', 'shipping/' . $this->request->get['extension']);
			$this->model_user_user_group->addPermission($this->user->getId(), 'modify', 'shipping/' . $this->request->get['extension']);

			require_once(DIR_APPLICATION . 'controller/shipping/' . $this->request->get['extension'] . '.php');
			
			$class = 'ControllerShipping' . str_replace('_', '', $this->request->get['extension']);
			$class = new $class($this->registry);
			
			if (method_exists($class, 'install')) {
				$class->install();
			}
			
			$this->redirect($this->url->link('extension/shipping', 'token=' . $this->session->data['token'], 'SSL'));
		}
	}
	
	public function uninstall() {
		$this->language->load('extension/shipping');
		
		if (!$this->user->hasPermission('modify', 'extension/shipping')) {
			$this->session->data['error'] = $this->language->get('error_permission'); 
			
			$this->redirect($this->url->link('extension/shipping', 'token=' . $this->session->data['token'], 'SSL'));
		} else {		
			$this->load->model('setting/extension');
			$this->load->model('setting/setting');
				
			$this->model_setting_extension->uninstall('shipping', $this->request->get['extension']);
		
			$this->model_setting_setting->deleteSetting($this->request->get['extension']);
		
			require_once(DIR_APPLICATION . 'controller/shipping/' . $this->request->get['extension'] . '.php');
			
			$class = 'ControllerShipping' . str_replace('_', '', $this->request->get['extension']);
			$class = new $class($this->registry);
			
			if (method_exists($class, 'uninstall')) {
				$class->uninstall();
			}
		
			$this->redirect($this->url->link('extension/shipping', 'token=' . $this->session->data['token'], 'SSL'));
		}
	}
}
?>

 

 

Edited by t04ka
спойлер
Link to post
Share on other sites

Кто вам закинул контроллер от 1.5?

		$this->template = 'extension/shipping.tpl';
		$this->children = array(
			'common/header',
			'common/footer'
		);
				
		$this->response->setOutput($this->render());
Link to post
Share on other sites

Ну и что это за фигня в нем
Вызов

$this->data['breadcrumbs'] = array();

 

Без объявления protected $data

 

Это явно модификатор из версии 1.5.x не адаптированный под, 2.x

Link to post
Share on other sites
Спойлер
3 минуты назад, chukcha сказал:

Кто вам закинул контроллер от 1.5?



		$this->template = 'extension/shipping.tpl';
		$this->children = array(
			'common/header',
			'common/footer'
		);
				
		$this->response->setOutput($this->render());

не только закинули, но и адаптировали за монеты =)))

Минутку, отключу, проверю =)

 

Link to post
Share on other sites

4 минуты назад, chukcha сказал:

Кто вам закинул контроллер от 1.5?


		$this->template = 'extension/shipping.tpl';
		$this->children = array(
			'common/header',
			'common/footer'
		);
				
		$this->response->setOutput($this->render());

Не только закинули, но и адаптировали за монеты.

Link to post
Share on other sites

10 минут назад, t04ka сказал:

Не только закинули, но и адаптировали за монеты.

Обьявите protected $data; в классе

 

class ControllerExtensionShipping extends Controller {
	protected $data;
	public function index() {
		...
Link to post
Share on other sites

Господа, благодарю! Помогло =)

ПрофесиАналы мне не только модификаторы подкинули поленые, но и системные файлы под них поправили =))

Просвятите еще по одному вопросу.

 

Как это все всплыло только спустя 3 месяца?

Link to post
Share on other sites

7 минут назад, chukcha сказал:

Пусть возвращают..

Да хрен с ними. Он давно загасился и не отвечает.

 

Подскажите хлебные крошки адекватные под 2.1.

Link to post
Share on other sites

1 минуту назад, t04ka сказал:

Господа, благодарю! Помогло =)

ПрофесиАналы мне не только модификаторы подкинули поленые, но и системные файлы под них поправили =))

 

Модификаторы давно обновляли ?

Link to post
Share on other sites
5 минут назад, markimax сказал:

Обьявите protected $data; в классе

 


class ControllerExtensionShipping extends Controller {
	protected $data;
	public function index() {
		...

Без этого обошелся, я просто оригинальный системный файл восстановил.

Спасибо, ваша помощь значительна.

 

Вы помогли мне лучше понять опенкарт =)

Link to post
Share on other sites

Только что, markimax сказал:

Модификаторы давно обновляли ?

Регулярно, там на сайте каждую неделю что нибудь делается.

Link to post
Share on other sites

Только что, t04ka сказал:

Регулярно, там на сайте каждую неделю что нибудь делается.

Тогда "науке сей факт не известен"  :)

  • +1 1
Link to post
Share on other sites
6 минут назад, markimax сказал:

Тогда "науке сей факт не известен"  :)

А адекватные хлебные крошки подскажите? ;)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.