Вход на сайт

Регистрация на сайте автоматическая при оформлении первого заказа

Адаптация модулей на Opencart 2.2.0.0


С выходом новой версии Opencart 2.2.0.0 появилась необходимость адаптировать модули под нее. Почти все модули со старых версий Opencart 2.0 и 2.1 несовметимы с новой версий 2.2.

Мы написали краткий мануал как адаптировать модули со старых версий. Если вы адаптируете модуля c Opencart 2.0, то вам следует учесть и изменения для Opencart 2.1

1. Создание ссылок

Нужно в контроллере сделать глобальную замену 'SSL' на true

2. Подключение файлов представлений

Заменить

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/file.tpl')) {
    return $this->load->view($this->config->get('config_template') . '/template/module/file.tpl', $data);
} else {
    return $this->load->view('default/template/module/file.tpl', $data);
}

на

return $this->load->view('module/file', $data);

Также заменить

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/file.tpl')) {
    $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/module/file.tpl', $data));
} else {
    $this->response->setOutput($this->load->view('default/template/module/file.tpl', $data));}

на

$this->response->setOutput($this->load->view('module/file', $data));

3. Подключение языковых файлов

Языковые файлы теперь храняться в папках не названию языка, а по названию локали. Нужно переимновать папки language/english и language/russian на language/en-gb и language/ru-ru соответственно.
А также в контролерах заменить

$this->language->load

на

$this->load->language

4. Формирование цены

В функции $this->currency->format теперь два аргумента, нужно добавить как второй аргумент $this->session->data['currency']
Вот так

$this->currency->format($this->tax->calculate(...), $this->session->data['currency'])

5. Размеры картинок

Теперь в каждой темы могут быть свои размеры картинок, значит получать размеры теперь мы будем чуть по другому.
Было

$this->config->get('config_image_category_width')

Стало

$this->config->get('theme_default_image_category_width')
Универсальный код получения размера картинки из настроек текущего шаблона для Opencart 2.2:
$this->config->get($this->config->get('config_theme') . '_image_category_width');
$this->config->get($this->config->get('config_theme') . '_image_category_height');

6. Адрес картинок флагов в админке

Вместо

src="view/image/flags/<?php echo $language['image']; ?>"
нужно
src="language/<?php echo $language['code']; ?>/<?php echo $language['code']; ?>.png"
Можно написать универсальный код который в зависимости от версии Opencart будет подставлять нужный адрес картинки флага:
src="<?php echo version_compare(VERSION, '2.2.0', '>=') ? "language/{$language['code']}/{$language['code']}.png" : "view/image/flags/{$language['image']}"; ?>"

7. Получение суммы заказа

Вместо
$this->{'model_total_' . $result['code']}->getTotal($totals, $total, $taxes);
будет
$this->{'model_total_' . $result['code']}->getTotal(array('totals' => &$totals, 'total' => &$total, 'taxes' => &$taxes));

8. Получение параметров валюты

Вместо

$this->currency->getId()
$this->currency->getCode()
$this->currency->getValue( $this->currency->getCode() )

теперь

$this->currency->getId( $this->session->data['currency'] )
$this->session->data['currency']
$this->currency->getValue( $this->session->data['currency'] )

9. Получения кода языка

Вместо (хотя этот вариант тоже работает, но возвращает код типа ru)

$this->language->get('code')

нужно (возвращает код типа ru-ru)

$this->session->data['language']

Возможно существует еще много изменений, если вы их знаете - пишите в комментарии, по ходу будем дополнять эту статью.

Дата публикации:
Популярные модули Opencart 2
Модуль Заказ в 1 клик Opencart 2

Модуль Заказ в 1 клик Opencart 2

Модуль Быстрый заказ в 1 клик Opencart2 - очень удобное дополнение для вашего магазина.Позволяет упр..

Всего 299 руб.

Модуль Менеджер заказов Opencart 2

Модуль Менеджер заказов Opencart 2

Модуль Менеджер заказов Opencart 2.x - модуль для управления заказами из админки. Модуль позвол..

Всего 349 руб.

Модуль Import YML Opencart 2

Модуль Import YML Opencart 2

Модуль Import YML Opencart 2 - для импорта yml-файла с товарами в Ваш интернет-магазин. Импорт ..

Всего 299 руб.

Модуль Экспорт YML Opencart 2

Модуль Экспорт YML Opencart 2

Модуль экспорта товаров на площадку Яндекс.Маркет, Турбо-страницы и другие сервисы, которые принимаю..

Всего 399 руб.

Модуль Горизонтальное мега-меню Opencart 2.x

Модуль Горизонтальное мега-меню Opencart 2.x

Модуль для формирования многоуровневого меню на основе категорий, производителей, товаров, страниц, ..

Всего 299 руб.

Модуль Вертикальное мегаменю для Opencart 2.x

Модуль Вертикальное мегаменю для Opencart 2.x

Модуль для создания вертикального мега-меню в колонке на Opencart 2.x. Очень многофункциональное доп..

Всего 299 руб.

Модуль Opencart Blog для Opencart 2.x

Модуль Opencart Blog для Opencart 2.x

Большим недостатком системы Opencart 2.x является отсутствие нормального блога записей. Ведь почти к..

Всего 399 руб.

Модуль Стикеры на товары для Opencart 2

Модуль Стикеры на товары для Opencart 2

Модуль для прикрепления стикетов к товарам на Opencart 2. Стикеры - это бирки, ленты, штамы, звездоч..

Всего 349 руб.

Слайдер Revolution для Opencart 2.0 - 2.3

Слайдер Revolution для Opencart 2.0 - 2.3

Слайдер №1 для Opencart 2 - это Revolution Slider. Многофукциональный модуль для слайдшоу позволяет ..

Всего 399 руб.

Модуль Скидки для групп покупателей Opencart 2.x

Модуль Скидки для групп покупателей Opencart 2.x

Модуль Скидки для групп покупателей или Total Customer Group Discount для Opencart 2.x позволяет зад..

Всего 249 руб.

Модуль Отзывы о товарах Opencart 2

Модуль Отзывы о товарах Opencart 2

Модуль Отзывы о товарах на отдельной странице и в позиции на сайте для Opencart 2.0.Удобный модуль д..

Всего 199 руб.

Модуль Мультизагрузка картинок товара на Opencart 2

Модуль Мультизагрузка картинок товара на Opencart 2

Модуль позволяет загружать и выбирать одновременно несколько картинок для товара. По умолчанию в O..

Всего 249 руб.

Рекомендуем

×
Напишите нам, мы онлайн!