Автор
Тема:

Как преобразовать модуль из opencart 3 в 1,5 и 2 и наоборот самостоятельно

 (Прочитано 318 раз)

saitikdev

  • Administrator
  • Неплохо разбираюсь в сайтах
  • *****
  • Сообщений: 2073
  • Karma: +1000/-0
    • Просмотр профиля
Как преобразовать модуль из opencart 3 в 1,5 и 2 и наоборот самостоятельно

Это касается и ocStore

Для примера будут приведены отличия данных версий и на основе это можно вручную сделать правки

0. Для начала название класса будет другим:

opencart (ocStore) 1,5 и 2: тут без Extension так как не в ней тут модули
ControllerModuleTags
opencart (ocStore) 3: 
ControllerExtensionModuleTags

1. Контроллеры в Админке

opencart (ocStore) 1,5 и 2:
$this->load->language('module/myModul');
opencart (ocStore) 3: тут папка extension добавляется при загрузке языковых файлов
$this->load->language('extension/module/tags');

2. Различные методы получения токенов:

opencart (ocStore) 1,5 и 2:
$this->session->data['token'];

opencart (ocStore) 3: совсем небольшие изменения
$this->session->data['user_token'];


3. Различается редирект

opencart (ocStore) 1,5 и 2:
$this->redirect(
                $this->url->link('extension/module', 'token=' .
                    $this->session->data['token'], 'SSL')
            );

opencart (ocStore) 3: response добавляется и папки для магазина marketplace и extension
$this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'], true));


4. Поменялся способ сбора данных, вернее как и куда он собирается:

opencart (ocStore) 1,5 и 2: более ООП стиль
$this->data['heading_title'] = $this->language->get('heading_title');

opencart (ocStore) 3: массив data уже другим образом показан $data
$data['heading_title'] = $this->language->get('heading_title');


5. Образование хлебных крошек немного другое:

opencart (ocStore) 1,5 и 2: 
$this->data['breadcrumbs'][] = array(
            'text'      => $this->language->get('heading_title'),
            'href'      => $this->url->link('module/myModul', 'token=' .
                $this->session->data['token'], 'SSL'),
            'separator' => ' :: '
        );

opencart (ocStore) 3: вместо , 'SSL' - true , можно и без 'separator' => ' :: '
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('extension/module/tags', 'user_token=' . $this->session->data['user_token'], true)
);



6. Большое отличите в рендере страницы и сборке файлов шаблона header, footer и левого блока, если есть они:

opencart (ocStore) 1,5 и 2: тут сборка файлов идет через children
$this->template = 'module/myModul.tpl';
        $this->children = array(
            'common/header',
            'common/footer'
        );
        $this->response->setOutput($this->render());

opencart (ocStore) 3: а тут сборка файлов вся складывается в тот же массив $data и появляется метод view , а render вообще исчез, но все стало уже более понятнее:
$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/tags', $data));


« Последнее редактирование: Июля 06, 2024, 01:35:14 pm от saitikdev »
Качественное SeoСео консультации - от специалиста с опытом более 10 лет | Рекомендуем - Лучший хостинг

 

Новые темы IT

Новые темы по Маркетингу