Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Адаптация модуля Opencart 2.3 под версию 3.0


Recommended Posts

Решил затронуть тему адаптации простых модулей OC 2.3 под OC 3.0

На пример решил взять модуль всплывающей корзины ОС 2.3

Я заменил в файле контроллера extension на satting, а так же token  на user_token.

Затем конвертировал файли tpl  в twig. 

На выходе, я получил Fatal error: Uncaught Twig_Error_Loader: Unable to find template "setting/module/popupcarttpl.twig" 

 

Надіслати
Поділитися на інших сайтах


9 минут назад, yaroslavskubiy сказал:

На выходе, я получил Fatal error: Uncaught Twig_Error_Loader: Unable to find template "setting/module/popupcarttpl.twig" 

 

вы не совсем верно путь сформировали к шаблону, видите, у вас в popupcarttpl.twig tpl нужно убрать tpl, чтобы вышло popupcart.twig

Надіслати
Поділитися на інших сайтах

34 хвилини назад, yaroslavskubiy сказав:

Решил затронуть тему адаптации простых модулей OC 2.3 под OC 3.0

На пример решил взять модуль всплывающей корзины ОС 2.3

Я заменил в файле контроллера extension на satting, а так же token  на user_token.

Затем конвертировал файли tpl  в twig. 

На выходе, я получил Fatal error: Uncaught Twig_Error_Loader: Unable to find template "setting/module/popupcarttpl.twig" 

 

нет файла по пути trwig

Надіслати
Поділитися на інших сайтах


2 hours ago, Seriusis said:

вы не совсем верно путь сформировали к шаблону, видите, у вас в popupcarttpl.twig tpl нужно убрать tpl, чтобы вышло popupcart.twig

Самое интересное, что я перерыл все возможные коды и файлы. Но так и не нашел этот "popupcarttpl.twig" ни где он прописан, ни возможно сам файл (не исключил, что переименовал с ошибкой)

 

 

Надіслати
Поділитися на інших сайтах


38 минут назад, yaroslavskubiy сказал:

Но так и не нашел этот "popupcarttpl.twig" ни где он прописан, ни возможно сам файл

Так может причина в том, что файл может быть только :

popupcart.tpl

или

popupcart.twig

А причину почему он сейчас не такой, нужно искать в контроллере переделанного неудачно модуля.

 

Надіслати
Поділитися на інших сайтах

при всем желании, не могу найти ошибку.

<?php
class ControllerExtensionModulePopUpCart extends Controller {
    private $error = array(); 
    
    public function index() {   
        $this->load->language('extension/module/popupcart');

        $this->document->setTitle(strip_tags($this->language->get('heading_title')));
        
        $this->load->model('setting/module');
        
        $this->load->model('localisation/language');
        
        $data['languages'] = $this->model_localisation_language->getLanguages();
        
        if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
            if ($this->request->post['apply']) {
                $url = $this->url->link('extension/module/popupcart', 'user_token=' . $this->session->data['user_token'], true);
            } else {
                $url = $this->url->link('marketplace/extension', 'user_token='.$this->session->data['user_token'].'&type=module', true);
            }
            
            unset($this->request->post['apply']);
            $this->model_setting_setting->editSetting('popupcart', $this->request->post);
            $this->session->data['success'] = $this->language->get('text_success');
            $this->response->redirect($url);
        }
                
        $data['heading_title'] = $this->language->get('heading_title');
        
        $data['text_module'] = $this->language->get('text_module');
        $data['text_enabled'] = $this->language->get('text_enabled');
        $data['text_disabled'] = $this->language->get('text_disabled');
        
        $data['text_head'] = $this->language->get('text_head');
        $data['text_button_name_shopping'] = $this->language->get('text_button_name_shopping');
        $data['text_button_name_shopping_show'] = $this->language->get('text_button_name_shopping_show');
        $data['text_button_name_checkout'] = $this->language->get('text_button_name_checkout');
        $data['text_button_name_cart'] = $this->language->get('text_button_name_cart');
        $data['text_button_name_cart_show'] = $this->language->get('text_button_name_cart_show');
        $data['text_manufacturer_show'] = $this->language->get('text_manufacturer_show');
        $data['text_addtocart_logic'] = $this->language->get('text_addtocart_logic');
        $data['text_button_name_default'] = $this->language->get('text_button_name_default');
        $data['text_click_on_cart'] = $this->language->get('text_click_on_cart');
        $data['text_related_show'] = $this->language->get('text_related_show');
        $data['text_related_heading'] = $this->language->get('text_related_heading');
        $data['text_related_product'] = $this->language->get('text_related_product');
        $data['text_related_product0'] = $this->language->get('text_related_product0');
        $data['text_related_product1'] = $this->language->get('text_related_product1');
        $data['text_related_product2'] = $this->language->get('text_related_product2');
        $data['text_button_name_incart_logic'] = $this->language->get('text_button_name_incart_logic');
        $data['text_button_name_incart_logic_label0'] = $this->language->get('text_button_name_incart_logic_label0');
        $data['text_button_name_incart_logic_label1'] = $this->language->get('text_button_name_incart_logic_label1');
        $data['text_button_name_incart'] = $this->language->get('text_button_name_incart');
        $data['text_button_name_incart_with_options'] = $this->language->get('text_button_name_incart_with_options');
        
        $data['entry_head'] = $this->language->get('entry_head');
        $data['entry_related_heading'] = $this->language->get('entry_related_heading');
        $data['entry_button_name_shopping'] = $this->language->get('entry_button_name_shopping');
        $data['entry_button_name_cart_show'] = $this->language->get('entry_button_name_cart_show');
        $data['entry_button_name_cart'] = $this->language->get('entry_button_name_cart');
        
        $data['entry_button_name_checkout'] = $this->language->get('entry_button_name_checkout');
        $data['entry_button_name_default'] = $this->language->get('entry_button_name_default');
        $data['entry_button_name_incart'] = $this->language->get('entry_button_name_incart');
        $data['entry_button_name_incart_with_options'] = $this->language->get('entry_button_name_incart_with_options');
        
        $data['text_copyright'] = $this->language->get('text_copyright');
        
        $data['button_save'] = $this->language->get('button_save');
        $data['button_cancel'] = $this->language->get('button_cancel');
        $data['button_apply'] = $this->language->get('button_apply');
        $data['button_remove'] = $this->language->get('button_remove');
        
        if (isset($this->session->data['success'])) {
            $data['success'] = $this->session->data['success'];
            unset($this->session->data['success']);
        } else {
            $data['success'] = '';
        }

        $data['error_warning'] = isset($this->error['warning']) ? $this->error['warning'] : '';        

          $data['breadcrumbs'] = array();

           $data['breadcrumbs'][] = array(
               'text'      => $this->language->get('text_home'),
            'href'      => $this->url->link('common/home', 'user_token=' . $this->session->data['user_token'], true),
           );

           $data['breadcrumbs'][] = array(
               'text'      => $this->language->get('text_module'),
            'href'        => $this->url->link('marketplace/extension', 'user_token='.$this->session->data['user_token'].'&type=module', true),
           );
        
           $data['breadcrumbs'][] = array(
               'text'      => $this->language->get('heading_title'),
            'href'      => $this->url->link('marketplace/module/popupcart', 'user_token=' . $this->session->data['user_token'], true),
           );
        
        $data['action'] = $this->url->link('extension/module/popupcart', 'user_token=' . $this->session->data['user_token'], true);
        $data['cancel'] = $this->url->link('marketplace/extension', 'user_token='.$this->session->data['user_token'].'&type=module', true);
    
        $data['settings'] = $this->config->get('popupcart') ? $this->config->get('popupcart') : array();
    
        $data['header'] = $this->load->controller('common/header');
        $data['column_left'] = $this->load->controller('common/column_left');
        $data['footer'] = $this->load->controller('common/footer');

        $this->response->setOutput($this->load->view('extension/module/popupcart.twig', $data));
    }
    
    private function validate() {
        if (!$this->user->hasPermission('modify', 'extension/module/popupcart')) {
            $this->error['warning'] = $this->language->get('error_permission');
        }
        
        if (!$this->error) {
            return true;
        } else {
            return false;
        }    
    }
}
?>

Надіслати
Поділитися на інших сайтах


2 часа назад, yaroslavskubiy сказал:

 $this->response->setOutput($this->load->view('extension/module/popupcart.twig', $data));

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.