Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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

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

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


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

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

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

Надіслати
Поділитися на інших сайтах


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

 

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

Надіслати
Поділитися на інших сайтах


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

/admin/model/setting/extension.php

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

Надіслати
Поділитися на інших сайтах


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

 

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

 

а еще и на 2.3

admin/controller/extension/shipping.php on

 

Но зачем?

Надіслати
Поділитися на інших сайтах

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

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

 

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

 

а еще и на 2.3


admin/controller/extension/shipping.php on

 

Но зачем?

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

Надіслати
Поділитися на інших сайтах


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

 

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

  • +1 2
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

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

  • +1 1
Надіслати
Поділитися на інших сайтах

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

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

 

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

да

Надіслати
Поділитися на інших сайтах


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'));
		}
	}
}
?>

 

 

Змінено користувачем t04ka
спойлер
Надіслати
Поділитися на інших сайтах


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

		$this->template = 'extension/shipping.tpl';
		$this->children = array(
			'common/header',
			'common/footer'
		);
				
		$this->response->setOutput($this->render());
Надіслати
Поділитися на інших сайтах

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

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

 

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

 

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

Надіслати
Поділитися на інших сайтах

Спойлер
3 минуты назад, chukcha сказал:

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



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

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

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

 

Надіслати
Поділитися на інших сайтах


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

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


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

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

Надіслати
Поділитися на інших сайтах


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

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

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

 

class ControllerExtensionShipping extends Controller {
	protected $data;
	public function index() {
		...
Надіслати
Поділитися на інших сайтах

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

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

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

 

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

Надіслати
Поділитися на інших сайтах


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

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

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

 

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

Надіслати
Поділитися на інших сайтах

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

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

 


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

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

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

 

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

Надіслати
Поділитися на інших сайтах


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

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

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

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.