Showing message Twig_Error_Loader in open cart

和自甴很熟 提交于 2020-01-06 03:41:09

问题


I am using open cart version 3. And I got the following message: Twig_Error_Loader in open cart after replacing theme files.

Full error:

 Fatal error: Uncaught exception 'Twig_Error_Loader' with message 'Unable to 
find template "common/column_left.twig" (looked into: 
C:/xampp/htdocs/fast/catalog/view/theme).' in 
C:\xampp\htdocs\fast\system\library\template\Twig\Loader\Filesystem.php:215 
Stack trace: #0  
 C:\xampp\htdocs\fast\system\library\template\Twig\Loader\Filesystem.php(139 
Twig_Loader_Filesystem->findTemplate('common/column_l...') #1 
C:\xampp\htdocs\fast\system\library\template\Twig\Environment.php(312): 
Twig_Loader_Filesystem->getCacheKey('common/column_l...') #2 
C:\xampp\htdocs\fast\system\library\template\Twig\Environment.php(378): 
Twig_Environment->getTemplateClass('common/column_l...', NULL) #3 
C:\xampp\htdocs\fast\system\library\template\twig.php(52): Twig_Environment-
>loadTemplate('common/column_l...') #4 
C:\xampp\htdocs\fast\system\library\template.php(22): Template\Twig-
>render('common/column_l...', false, 'fastor') #5 
C:\xampp\htdocs\fast\system\engine\loader.php(86): Template-
>render('common/column_l...', Object(Registry), '1') #6 C:\xampp\ in 
C:\xampp\htdocs\fast\system\library\template\Twig\Loader\Filesystem.php on 
line 215

Your help will be greatly appreciated


回答1:


it looks that the problem resides in catalog/controller/event/theme.php

the Code assigns a path only when $theme:info isn't set.

    if ($theme_info) {
        $template = html_entity_decode($theme_info['code'], ENT_QUOTES, 'UTF-8');
    }elseif (is_file(DIR_TEMPLATE . $theme . '/template/' . $route . '.twig')) {
        $this->config->set('template_directory', $theme . '/template/');
    } elseif (is_file(DIR_TEMPLATE . 'default/template/' . $route . '.twig')) {
        $this->config->set('template_directory', 'default/template/');
    }

I modified the code to this. Now a path is asigned and the whole thing works. You still have to reload the cache to see modification.

if ($theme_info) {
        $template = html_entity_decode($theme_info['code'], ENT_QUOTES, 'UTF-8');
    } 
    if (is_file(DIR_TEMPLATE . $theme . '/template/' . $route . '.twig')) {
        $this->config->set('template_directory', $theme . '/template/');
    } elseif (is_file(DIR_TEMPLATE . 'default/template/' . $route . '.twig')) {
        $this->config->set('template_directory', 'default/template/');
    }


来源:https://stackoverflow.com/questions/47375727/showing-message-twig-error-loader-in-open-cart

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!