Перейти к содержанию
vlad4298

Последствия комментирования Trigger pre/post events в engine/loader.php

Рекомендуемые сообщения

Добрый вечер уважаемые форумчане,

 

Создавали один кастомный модуль под OC 2.0.1.1 и понадобилось его перенести на другой магазин под версией 2.2 .

В частности, в коде модуля есть следующие строки:

...
// Version
define("VERSION", "2.2.0.0");
// Configuration
if (is_file("../config.php")) {
	require_once("../config.php");
}
// Startup
require_once(DIR_SYSTEM . "startup.php");

$registry = new Registry();
$loader = new Loader($registry);
$registry->set("load", $loader);
$config = new Config();
$registry->set("config", $config);
$response = new Response();
...

Интересно то, что в лоадере (system.engine/loader.php) из 2.2 присутствует следующий код:

			// Trigger the pre events
			$result = $registry->get('event')->trigger('model/' . $route . '/before', array_merge(array(&$route), $args));
			
			if ($result) {
				return $result;
			}
////и
			// Trigger the post events
			$result = $registry->get('event')->trigger('model/' . $route . '/after', array_merge(array(&$route, &$output), $args));
	
			if ($result) {
				return $result;
			}

, который мне пришлось закомментировать, чтобы модуль работал без ошибок.

 

Так вот, уважаемые знатоки, не подскажете насколько важен этот код и еcли важен, то как можно будет обойти данную ошибку (появляется, если не комментирую)?

mod_fcgid: stderr: PHP Fatal error:  Call to a member function trigger() on null in /system/engine/loader.php on line 156

 

Заранее благодарю за помощь!

Изменено пользователем vlad4298

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, kabantejay сказал:

да ничего страшного, все норм!

Чего? :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 минут назад, chukcha сказал:

Чего? :(

 

ну какой вопрос такой и ответ)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык нормальный вопрос

 

В 14.11.2017 в 23:41, vlad4298 сказал:

Создавали один кастомный модуль под OC 2.0.1.1 и понадобилось его перенести на другой магазин под версией 2.2 .

Закажите адаптацию у спецов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата

Закажите адаптацию у спецов

закажите у меня недорого-дешево, поправлю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
On 11/18/2017 at 12:35 AM, kabantejay said:

закажите у меня недорого-дешево, поправлю

 

On 11/18/2017 at 12:14 AM, chukcha said:

Дык нормальный вопрос

 

Закажите адаптацию у спецов

 

Большое спасибо за ответы.

Ну, а для начала, вы не в курсе за что код отвечает?

Изменено пользователем vlad4298

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В курсе...
вызов событий before и after

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 hour ago, chukcha said:

В курсе...
вызов событий before и after

 

Очень остроумно)

 

Ладно, добро, спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хм, а какой ответ вы хотели услышать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Xellouey
      Здравствуйте, форумчане!
      Возникла очень жесткая проблемка, а именно после удаления гавномодуля Complete Seo Package (удалял вручную, через фтп клиент, так как в опенкарт нет автоматического удаления файлов после отключения модуля, что странно) перестало открываться содержимое товара в админке (изменение цены, названия и тп).При заходе выбивает ошибку: Fatal error: Uncaught exception 'Exception' with message 'Error: Subquery returns more than 1 row<br />Error No: 1242<br />SELECT DISTINCT *, (SELECT keyword FROM oc_url_alias WHERE query = 'product_id=171') AS keyword FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '171' AND pd.language_id = '1'' in /home/u542085/mt-beauty.com/html/system/storage/modification/system/library/db/mysqli.php:47 Stack trace: #0 /home/u542085/mt-beauty.com/html/system/storage/modification/system/library/db.php(84): DB\MySQLi->query('SELECT DISTINCT...', Array) #1 /home/u542085/mt-beauty.com/html/system/storage/modification/admin/model/catalog/product.php(378): DB->query('SELECT DISTINCT...') #2 [internal function]: ModelCatalogProduct->getProduct('171') #3 /home/u542085/mt-beauty.com/html/system/storage/modification/system/engine/loader.php(184): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 /home/u542085/mt-beauty.com/html/system/engin in /home/u542085/mt-beauty.com/html/system/storage/modification/system/library/db/mysqli.php on line 47
       
      Самое странное, что когда устанавливаю модуль обратно, всё открывается. Помогите пожалуйста, буду премного благодарен!
    • От markimax
      Скачать/Купить дополнение


      SEO DATAFIX
      Данный фикс (из разряда must have) убирает грубую SEO ошибку проверки входящих данных
      Из-за чего получаются дубли страниц с разными URL и разными canonical но одним содержимым
      Что очень негативно отражается на SEO
      В индекс попадают страницы с такими URL
      site.com/index.php?route=product/product&product_id=1/ (слеш в конце)
      или
      site.com/index.php?route=product/product&product_id=1.111
      или
      site.com/apple/?page=2///
       
      Фикс исправляет эту ошибку
      Рекомендуется использовать с seo_pro
       
      Кто хочет сказать "спасибо" может сделать это здесь
      https://opencartadmin.com/investicii.html
       
       
      Инструкция по установке

      1. Скачать архив модуля
      2. Установите через установщик дополнений или скопируйте по FTP файлы из архива (содержимое папки upload) в корневую папку сайта (там где index.php). (если вы копируете первый раз, система не должна запрашивать файлы на перезапись, так как модуль не перезаписывает никаких системных файлов opencart и ocStore).
      3. Установите права доступа в /admin/index.php?route=user/user_permission для Главного администратора нажав на ссылку "изменить"
      4. Выделите "Разрешен просмотр" и "Разрешено внесение изменений" файлов модуля (если вы не знаете какие - нажмите ссылку "выделить всё") и нажмите кнопку "Сохранить"
      5. Если ваша версия opencart ниже чем 2.1 удалите по FTP папку module в /admin/controller/extension/ (т. е. удалите папку /admin/controller/extension/module), так как вы не сможете зайти в меню Модули
      6. Зайдите в административную часть сайта /admin/index.php?route=extension/module и установите модуль, нажав на ссылку "установить"
      7. Зайдите в модуль /admin/index.php?route=module/datafix и нажмите оранжевую кнопку "Нажмите при установке или обновлении модуля". Будут установлены и обновлены модификаторы модуля.
      8. "Статус модуля" - выберите "Включено". Нажмите кнопку справа вверху "Сохранить"
      9. Процедура установки и включения модуля закончена.
       
      Модуль распространяется по принципу "as is"
       
       
       
      Добавил markimax Добавлено 30.03.2018 Категория SEO, карта сайта, оптимизация Системные требования PHP 5.3+, для OC 1.5.x - vqmod 2.4.0+ Сайт разработчика https://opencartadmin.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop  
    • От Kapitoxaxa
      Ребята подскажите пожалуйста как это победить. Присутствует такая табличка только когда захожу на сайт через оперу.

    • От motherfaker
      Здравствуйте,подскажите как решить вот такую ошибку:Warning: call_user_func_array() expects parameter 1 to be a valid callback, cannot access protected method ControllerCommonHeader::index() in /home/mobisell/public_html/system/engine/action.php on line 51
      Она появилась после того как я установил модуль Export/import и нажал обновить модули.
      На фото все видно,изменилось меню в панели управления OC,ничего не нажимается.
      Помогите

    • От Arion
      Здравствуйте! Прошу помочь разобраться в проблеме. Полностью перестали работать модификаторы (которые в админке в разделе Модули/Расширения - > Модификаторы). Список модификаторов есть, они включаются и выключаются, НО при обновлении кэша модификаторов на сайте не происходит абсолютно никаких изменений, как будто модификаторов никаких и не установлено. Причём если я создаю файл ***.ocmod.xml и добавляю его в /system, то всё работает как и нужно, но стоит этот же код модификатора установить через админку, он совсем не работает. Не знаю в какую даже сторону копать... Ошибок в логах никаких....И не обратил внимание после чего это началось. Opencart 2.3.0.2
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.