Вход на сайт

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

Адаптация модулей на 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
Модуль Купить в один клик Opencart 2

Модуль Купить в один клик Opencart 2

Модуль оформления заказа в один клик для Opencart 2.x - это быстрое оформление заказа в один клик в ..

Всего 199 руб.

Модуль Мега-меню для Opencart 2

Модуль Мега-меню для Opencart 2

Модуль Мега-меню Opencart 2 - дополнение для создания меню. Быстрая установка всего в несколько кли..

Всего 199 руб.

Модуль Вход через соц.сети Opencart 2

Модуль Вход через соц.сети Opencart 2

Модуль Вход через социальные сети Opencart 2 - это модуль авторизации клиентов через популярные соцс..

Всего 199 руб.

Модуль Всплывающая корзина Opencart 2

Модуль Всплывающая корзина Opencart 2

Модуль Всплывающая корзина Opencart 2.x - это широкофункциональный модуль, возможности которого тяже..

Всего 249 руб.

Модуль Фотогалерея Opencart 2.x

Модуль Фотогалерея Opencart 2.x

Модуль Фотогалерея Opencart 2.x - поможет создавать вам свои фотоальбомы и публиковать их на сайтеЭт..

Всего 249 руб.

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

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

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

Всего 249 руб.

Модуль Import YML Opencart 2

Модуль Import YML Opencart 2

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

Всего 249 руб.

Расширенные отчеты по заказам и продажам для Opencart 2

Расширенные отчеты по заказам и продажам для Opencart 2

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

Всего 249 руб.

Модуль Упрощенный заказ Custom Quick Checkout на Opencart 2.x

Модуль Упрощенный заказ Custom Quick Checkout на Opencart 2.x

Модуль упрощенного заказа Custom Quick Checkout Opencart 2 - по сути модуль заказа на одной странице..

Всего 249 руб.

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

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

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

Всего 249 руб.

Модуль Яндекс.Деньги для Opencart 2

Модуль Яндекс.Деньги для Opencart 2

Модуль оплаты Яндекс Деньги для Opencart 2 - платежный модуль, который позволит принимать платежи с ..

Всего 249 руб.

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

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

Модуль оплаты Webmoney для Opencart 2 предназначен для оплаты товаров через популярную систему ..

Всего 249 руб.

Рекомендуем