Что нового в OpenCart 4?

 

Как известно, официальный релиз OpenCart 4 состоялся 24 мая 2022 года. С момента начала этой статьи (18.12.2020) очень существенных изменений с точки зрения пользователей не произошло, но кое что все-таки добавилось.

Сразу скажу, что мое общее впечатление такое: если OpenCart 3 был версией чисто ради смены технологии и ничем не мог порадовать пользователей, то в OpenCart 4 уже имеются действительно полезные нововведения по функционалу.

Изменения в OpenCart 4 для пользователей

Обещан новый дефолтный шаблон! Ни фига себе!..

В блоге на официальном сайте в обзоре релиза OpenCart 4 обещан новый внешний вид дефолтной темы (!) Это конечно, надо еще посмотреть, что из этого получится. Но общий тон этого обзора наводит на мысль, что разработчика OpenCart достали тем, что ничего хорошего от обновлений не появляется. Да и облачная версия системы активно разрабатывается. Чтобы выжить в эпоху разных и красивых конструкторов, кажется, внешний вид дефолтного шаблона имеет значение…

Новое оформление корзины! Ура-а-а-а!

Не знаю, почему это не упомянуто в официальном обзоре, но считаю очень важным тот факт, что в опенкарт 4 появилось нормальное одностраничное оформление заказа через корзину. Для многих пользователей отпадет необходимость установки дополнительного модуля Simple Checkout. Хотя, сомнительно, что встроенная корзина будет такой же гибкой, как этот знаменитый модуль.

Встроенное мультиязычие

Добавлена метка языка в ссылках сайта. Причем языковая метка есть как в системных сслках, так и при использовании ЧПУ. С моей личной точки зрения это крайне важное изменение. Раньше приходилось ставить специальный модуль, чтобы обеспечить наличие разных ссылок для разных языковых версий сайта. Теперь это есть из коробки. И это здорово!

Встроенный GDPR

Этот пункт направлен на пользователей из Европы.

Зачатки обновлений OpenCart из админки

В разделе обслуживания сайта появился новый раздел «Upgrade». Судя по всему это подсистема для автоматического обновления CMS и установленных модулей.

При сохранении товара (настроек) больше никуда не выбивает

Уж не знаю, стоило ли об этом писать, но сохранение форм (особенно настроек шаблона) в предыдущих версиях OpenCart страшно бесило. Даже был модификатор, который добавлял кнопку «Сохранить и остаться [на странице]». Теперь это все ок из коробки. Как говорится, мелочь, а приятно.

 

Появились встроенные Cron-задачи

wget "http://opencart-4000b.loc/admin/index.php?route=common/cron" --read-timeout=5400

Варианты товара в OpenCart 4

Также сразу бросилось в глаза появление вариантов товара. Пока что я не знаю точно, как это работает. Но, знаю, что по требованию той же Розетки, каждый цвет товара надо загружать как отдельный товар. И люди мучаются, придумывая, как под каждую опцию создать псевдотовар. Теперь, теоретически с этим должно быть меньше проблем

OpenCart 4, что нового: добавлены варианты товара

Текстовый редактор CKEditor вместо Summernote

Summernote не самый удобный редактор. Большинство ставят модификаторы, его заменяющие на TinyMCE или CKEditor (кстати, в сборке ocStore изначально была возможность переключения на CKEditor).

Единственное, что, хотель бы изменить в этом редакторе, так это высоту области для ввода текста. Уж как-то неудобно писать текст, когда надо прокручивать текстовое поле.

Что хорошего в OpenCart 4 - добавлен редактор текста CKEditor

Другие изменения в OpenCart 4

  • Теперь товар совсем не сохраняется, если не вписать ЧПУ (SEO URL).
  • Немного изменился менеджер изображений. Ничего существенного, просто на 1 клик меньше за счет того, что иконка отображаются под фото.
  • В списке товаров в админке Статус товара отображается зеленым или красным прямо в стоблце с Названием товара. Это чуточку более приятно, чем серая надпись в отдельном столбце.
  • Добавлен колокольчик уведомлений

В OpenCart 4 добавлены уведомления

 

Изменения в OpenCart 4 для разработчиков


Для установки OpenCart 4 требуется версия PHP8+


В OpenCart 4 больше не будет OCMOD. По затее разработчиков системы все изменения делаются исключительно через События. Этот факт приводил в недоумение разработчиков вот в этом обсуждении — https://opencartforum.com/topic/169300-opencart-4x-is-coming/

Вполне может быть, что OCMOD до свидания, да здравствует vQmod ( вернемся к истокам 🙂 ). Кстати, на маркетплейсе уже можно найти OpenCart 4 VQMod Manager.


Изменен адрес для размещения файлов расширений

  • Было: admin/controller/module/account.php
  • Стало: extension/opencart/admin/controller/module/account.php

где:

opencart/ — это папка поставщика модуля (модулей)

По идее это нужно для налаживания автообновлений из админки без ручных манипуляций с файлами. Да и удаление модуля навсегда станет значительно легче: нужно будет просто удалить папку, а не искать файлы модуля, разбросанные тот там, то сям…

Изменения также есть в структуре файлов шаблонов, но это описано в отдельной статье — Как создать свой шаблон для OpenCart 4.

Используется Bootstrap 4.5.3. А это до свидание кривым рядам с товарами, которые встречаются даже в очень продаваемых шаблонах.

Используется Font Awesome Free 5.15.1

Добавлены неймспейсы. Видимо, решили привлечь на свою сторону программистов, которые начали свой путь с PHP 7 и просто не понимают, как так может быть, чтобы в файле не надо было прописывать заветное слово namespace.

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

$data['products'][] = $this->load->controller('product/thumb', $product_data);

Это означает, что вся верстка превьюшек товаров для всех списков товаров теперь находится в одном файле catalog/view/template/product/thumb.twig

Но это касается только оформления. Обработка данных для формирования списка все еще происходит в каждом отдельно взятом контроллере в коде:

foreach ($products as $product) {

...

Все SQL-запросы теперь принято писать с использованием грависов (`). К примеру:

$query
= $this->db->query("SELECT `filter_id` FROM `" . DB_PREFIX .
"category_filter` WHERE `category_id` = '" . (int)$category_id . "'");

Добавить комментарий

Ваш адрес email не будет опубликован.