Большое вам спасибо за помощь в решении проблемы. На основе вашего решения я настроил своё. Ниже укажу всё в одном посте.
Проблема: При попытке включения отладки событий во frontend у меня вылетает ошибка:
PHP Fatal error: Uncaught Twig_Error_Loader: Unable to find template "common/column_left.twig" (looked into: /public_html/catalog/view/theme). in /public_html/system/library/template/Twig/Loader/Filesystem.php:215\nStack trace:\n#0 /public_html/system/library/template/Twig/Loader/Filesystem.php(139): Twig_Loader_Filesystem->findTemplate('common/column_l...')\n#1 /public_html/system/library/template/Twig/Environment.php(312): Twig_Loader_Filesystem->getCacheKey('common/column_l...')\n#2 /public_html/system/library/template/Twig/Environment.php(378): Twig_Environment->getTemplateClass('common/column_l...', NULL)\n#3 /public_html/system/library/template/twig.php(33): Twig_Environment->loadTemplate('common/column_l...')\n#4 /public_html/system/library/template.php(51): Template\\Twig->render('common/col in /public_html/system/library/template/Twig/Loader/Filesystem.php on line 215
Ниже решение, которое мне помогло
1. В файле index.php после строки define('VERSION', '3.0.2.0'); добавил код:
// Включить отладку событий в catalog
define('DEBUG_CATALOG_EVENTS', true);
2. В файле system/config/catalog.php вынес из массива код для дебага, т.е. заменил код:
// Action Events
$_['action_event'] = array(
'controller/*/before' => array(
'event/language/before'
),
'controller/*/after' => array(
'event/language/after'
),
'view/*/before' => array(
500 => 'event/theme/override',
998 => 'event/language',
1000 => 'event/theme'
),
'language/*/after' => array(
'event/translation'
),
//'view/*/before' => array(
// 1000 => 'event/debug/before'
//),
'controller/*/after' => array(
'event/debug/after'
)
);
на код
// Action Events
$_['action_event'] = array(
'controller/*/before' => array(
'event/language/before'
),
'controller/*/after' => array(
'event/language/after'
),
'view/*/before' => array(
500 => 'event/theme/override',
998 => 'event/language',
1000 => 'event/theme'
),
'language/*/after' => array(
'event/translation'
),
'controller/*/after' => array(
'event/debug/after'
)
);
if( defined('DEBUG_CATALOG_EVENTS') && DEBUG_CATALOG_EVENTS ) {
$_['action_event']['view/*/before'] = array( 1000 => 'event/debug/before' );
}
3. В system/library/template/Twig/Loader/Filesystem.php перед строкой foreach ($this->paths[$namespace] as $path) добавил код:
//Делаем проверку админка или фронт
if( defined('DEBUG_CATALOG_EVENTS') && DEBUG_CATALOG_EVENTS ) {
$shortname = 'default/template/'.$shortname;
}
4. В catalog/controller/event/debug.php исправил ошибку, которая вызывает notice на PHP 7.1+. Заменил строку:
'time' => microtime() - $this->session->data['debug'][$route]
на
'time' => (float)microtime() - (float)$this->session->data['debug'][$route]