A
У клиента выскочила ошибка при попытке оформить заказ
Заглядываю в справку сэмплы и там предложение первое по списку:
Ну ок, лезем на наш файлик, он уже спасибо разработчикам бро поправлен как нужно
Но ошибка то откуда то взялась?
И тут ответ разработчика simple:
Ах да, брокарт 3 же дружит и с темами на TPL! Он не мог на TWIG тему так среагировать?
Уважаемые, может у вас есть мысли как побороть эту бяку?
Тема unishop 2
Brocart 3.0.3.6
PHP 7.3
Сайт: цветыминск.бел
Для воспроизведения ошибки достаточно добавить товар в корзину и попробовать оформить заказ
Заглядываю в справку сэмплы и там предложение первое по списку:
Откройте файл
system/library/template/twig.php
и замените код
$loader = new \Twig_Loader_Array(array($filename . '.twig' => $code));
на такой код
$loader1 = new \Twig_Loader_Array(array($filename . '.twig' => $code));
$loader2 = new \Twig_Loader_Filesystem(array(DIR_TEMPLATE)); // to find further includes
$loader = new \Twig_Loader_Chain(array($loader1, $loader2));
после этого обязательно обновите кэш твига на главной странице админки опенкарта!
Внимание! Иногда строка для замены может иметь другой вид, если не нашли у себя строку выше, то найдите такую и замените ее кодом выше
$loader = new \Twig\Loader\ArrayLoader(array($filename . '.twig' => $code));
system/library/template/twig.php
и замените код
$loader = new \Twig_Loader_Array(array($filename . '.twig' => $code));
на такой код
$loader1 = new \Twig_Loader_Array(array($filename . '.twig' => $code));
$loader2 = new \Twig_Loader_Filesystem(array(DIR_TEMPLATE)); // to find further includes
$loader = new \Twig_Loader_Chain(array($loader1, $loader2));
после этого обязательно обновите кэш твига на главной странице админки опенкарта!
Внимание! Иногда строка для замены может иметь другой вид, если не нашли у себя строку выше, то найдите такую и замените ее кодом выше
$loader = new \Twig\Loader\ArrayLoader(array($filename . '.twig' => $code));
Ну ок, лезем на наш файлик, он уже спасибо разработчикам бро поправлен как нужно
PHP:
<?php
namespace Template;
final class Twig {
private $data = array();
public function set($key, $value) {
$this->data[$key] = $value;
}
public function render($filename, $code = '') {
if (!$code) {
$file = DIR_TEMPLATE . $filename . '.twig';
if (is_file($file)) {
$code = file_get_contents($file);
} else {
throw new \Exception('Error: Could not load template ' . $file . '!');
exit();
}
}
// initialize Twig environment
$config = [
'charset' => 'utf-8',
'autoescape' => false,
'debug' => false,
'auto_reload' => true,
'cache' => DIR_CACHE . 'template/'
];
try {
$refixed = new \Twig_Loader_Array(array($filename . '.twig' => $code));
$template = new \Twig_Loader_Filesystem(array(DIR_TEMPLATE));
$loader = new \Twig_Loader_Chain(array($refixed, $template));
$twig = new \Twig\Environment($loader, $config);
return $twig->render($filename . '.twig', $this->data);
} catch (Exception $e) {
trigger_error('Error: Could not load template ' . $filename . '!');
exit();
}
}
}
Но ошибка то откуда то взялась?
И тут ответ разработчика simple:
Файл уже поправлен как нужно
Обновите кэш менеджера дополнений
Ну и плюс вчитайтесь сами в текст ошибки
У вас вроде как твиг шаблон, запрашивается обычный tpl (и это не модуль выбирает, он базируется на том, что выдаёт опенкарт, какой тип шаблонизатор использует)
Поэтому переустановите модуль под свою версию опенкарта и если не поможет, то отменяйте правки в опенкарте
Модуль же тоже не на ровном месте и просто так стал выдавать ошибку...
Обновите кэш менеджера дополнений
Ну и плюс вчитайтесь сами в текст ошибки
У вас вроде как твиг шаблон, запрашивается обычный tpl (и это не модуль выбирает, он базируется на том, что выдаёт опенкарт, какой тип шаблонизатор использует)
Поэтому переустановите модуль под свою версию опенкарта и если не поможет, то отменяйте правки в опенкарте
Модуль же тоже не на ровном месте и просто так стал выдавать ошибку...
Уважаемые, может у вас есть мысли как побороть эту бяку?
Тема unishop 2
Brocart 3.0.3.6
PHP 7.3
Сайт: цветыминск.бел
Для воспроизведения ошибки достаточно добавить товар в корзину и попробовать оформить заказ
Останнє редагування: