Форум программистов, компьютерный форум, киберфорум
esculap_ra
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Адаптация модулей Опенкарт 2.3 под 3.0

Запись от esculap_ra размещена 23.08.2019 в 13:38

Такой вопрос появился на форуме, поэтому я решил заняться этой проблемой.
Как известно, начиная с тройки разработчики извратились и выдумали Twig (почему не использовать Smarty?). Впрочем, как показал эксперимент на примере модуля currency, адаптация не представляет особой сложности.

Итак:

1.В папку system/library/template кидаем файл adaptetur.php с кодом:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 class aTemplate{
    private $data = array();
    
    public function __construct($data){
    $this->data = $data;
    }   
    
    public function render($template) {
        $file = DIR_TEMPLATE . $template . '.tpl';
 
        if (is_file($file)) {
            extract($this->data);
 
            ob_start();
 
            require($file);
 
            return ob_get_clean();
        }
 
        throw new \Exception('Error: Could not load template ' . $file . '!');
        exit();
    }   
}
2. В контроллере currency.php вносим изменения:

PHP
1
2
3
4
5
6
7
8
9
#********************************************************
    if(!class_exists('aTemplate')){
require DIR_SYSTEM.'library/template/adaptetur.php';
    }
$tpl = new aTemplate($data);
$html = $tpl->render('default/template/common/currency');
return $html ;
#********************************************************
#return $this->load->view('common/currency', $data);// стандартный вывод twig блокируем
3. К шаблонам кидаем файл currency.tpl от версии 2.3 (я с ним экспериментировал)

Пользуйтесь.
Размещено в Без категории
Показов 5001 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru