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

Что нас ждет в OpenCart 4?


sv2109

5 096 переглядів

На данный момент продолжается работа над 4 версией движка. На сегодня для тестирования доступна версия 4.0.0.0_b. Сроков выхода новой версии пока нету, но уже можно посмотреть какие там запланированы изменения. 
 
Из основного
- минимальная версия PHP - 8
"Warning: You need to use PHP8 or above for OpenCart to work!"

 

- убрали модификаторы (ocmod)
Вот только не понятно как можно убирать модификаторы, если с помощью событий еще можно сделать очень мало? И как при этом писать дополнения? Или будет как в версии 1.5 движка - отдельно OpenCart и отдельно все скачивали vQmod? 

- добавлена схема для базы данных
system/helper/db_schema.php 
Опять таки, зачем она нужна если запросы к базе все еще пишутся в одну строчку?
 
- для товара добавлены варианты
Можно указать главный товар и его варианты, например один товар с различными вариантами цветов, теперь это будут разные товары для каждого цвета со своими наборами опций, ценой, остатками и другими полями
 
- папка дополнений переехала
из
/catalog и /admin
в
/extension/opencart/catalog
/extension/opencart/admin
Свои же дополнения будут храниться в 
/extension/username/catalog
/extension/username/admin
спасибо @chukcha за уточнение

Суть это не меняет, но структуру файлов всех дополнений придется переделывать.

- неймспейсы теперь везде
было
class ModelCatalogProduct extends Model {
стало
namespace Opencart\Catalog\Model\Catalog;
class Product extends \Opencart\System\Engine\Model {

- и строгая типизация
было
public function getProducts($data) {
стало
public function getProducts(array $data = []): array {

 

Шаблон
- Bootstrap обновлен до 5 версии 
при этом поддержку font-awesome убрали, видимо иконки уже есть в Bootstrap

- jQuery 3.6 вместо 2.1 

- возможно, в движок будет добавлен React или Vue
Разговоры об этом идут, я уже писал об этом на форуме, также писал о том, насколько маловероятно что это будет реализовано  
 
- появилась новый шаблон 
product/thumb.twig 

 

для блока товара в категории, поиске, производителе итд. Более подробно тут
 
- появился новый шаблон 
common/pagination.twig
для пагинации
 
Админка
- появился новый тип дополнений - Startup
предположительно для добавления своих скриптов, которые будут выполняться при загрузке магазина

- появились задания крона
wget "http://localhost/opencart/4.0b/admin/index.php?route=common/cron" --read-timeout=5400


- добавлено GDPR Approvals для пользователей


- возле логотипа пользователя появился колокольчик

для уведомлений о новостях, новых версиях и обновлениях от OpenCart но по идее это могут использовать и сами модули для создания своих уведомлений. 


Общие впечатления

К сожалению, вот уже несколько новых мажорных версий, начиная со второй, вместо того, чтобы решать глобальные проблемы движка, такие как отсутствие нормальной системы расширений, отсутствие нормальных инструментов работы с базой данных, валидаторов, дублирование кода, устаревшее ядро движка, которое уже больше 10 лет как почти не изменяется, а также многие другие, OpenCart идет по пути "сделаем все красиво" и в каждой новой версии тратится куча времени для обновления дизайна, сначала добавили Bootstrap, потом в каждой новой версии его обновляют, добавили twig, обновили jQuery.. 
Каких-то кардинальных изменений я совсем не заметил, на мажорную версию это никак не тянет, максимум на 3.1. 
Хотя, работа над 4 версией еще не закончена, есть слабая надежда что еще что-то добавят. 

Если что-то пропустил  - дополняйте или поправляйте в комментариях. 

Products (1).png

Products.png

Dashboard.png

Administration.png

Your Store.png

  • +1 6

62 коментаря


Recommended Comments



сегодня кстати обновили немного сам официальный сайт

 

вот что заметил то теперь правый блок навигации теперь так выглядит в ЛК

 

Спойлер

image.thumb.png.21713444f3e16c14d22ee552f75a7b5e.png

 

очень важный апдейт

Надіслати
6 минут назад, sv2109 сказал:

<ol class="breadcrumb">

потому что семантически это верно
потому что  это перечисляемый список
Хотите ul - оставляйте

Надіслати
3 часа назад, SooR сказал:

Изменения больше косметические, вот одно из них:


$data['add'] = $this->url->link('customer/customer|form', 'user_token=' . $this->session->data['user_token'] . $url);

 

То есть вызов метода по ссылке через вертикальную черту. Зачем? Не знаю, визуально отделить файл/класс от метода. Стоит ли это изменение совместимости с модулями - однозначно нет. 

Вообще обновления мажорных версий больше выглядит как руководство к "правильному" кодингу. Даниель решил что так будет правильней, красивей, значит пишите так и привыкайте к новому. Вместо наращивания функционала все снова уходит в организацию кода, файловой структуре. Короче, неоправданный головняк.

Не толко визуально - explode - и не надо проверять весь путь на file_exists

Надіслати
06.06.2021 в 11:22, MaxD сказал:

Если $code не пустой, то он используется вместо фактического текста шаблона. Получается, что можно модифицировать шаблон в обработчике события, и несколько дополнений, которые вносят изменения в один и тот же .twig, могут вполне себе уживаться.

 

В редакторе шаблона. Если нету в редакторе шаблона, создать. Тем самым наши str_replace закэшируем.

Надіслати
12.06.2021 в 23:18, chukcha сказал:

потому что семантически это верно
потому что  это перечисляемый список
Хотите ul - оставляйте

Ну не согласен. В бредкрумб не предyсмотрено
 

Цитата

 

ol li {
list-style-type: decimal;
margin-left:20px;

}/*
decimal
lower-roman
upper-roman
lower-alpha
upper-alpha
none
*/

 

Но возможно  использовать (по желанию)

Цитата

ul li {
list-style-type: circle;
margin-left:20px;
}/*
disc
circle
square
none
*/

По-сути "тупо" будет выглядеть I category / II subcategory / III product (это  upper-roman) , еще "тупее" alpha (греческий алфавит)

 

Так что с бредкрумбом просто не нужно было извращаться, так как все одно в стилях list-style-type: none;

Змінено користувачем esculapra
Надіслати
09.06.2022 в 18:11, esculapra сказал:

. В бредкрумб не предесмотрено

извините, что не предусмотрено*
 

<meta itemprop="position" content="1" />

Т.е. - порядок, т.е. <ol>

Надіслати
12.06.2021 в 23:12, sv2109 сказал:

ну и еще несколько десятков! подобных мелочей и нужно будет каждый модуль теперь пол дня переделывать чтобы получить по сути тот же самый вид, только уже под 5 бутстрап! 

Ну и нафига? Просто не ставь 5 бут, а изменить можно глобально float-end на pull-right (несколько секунд во всех шаблах), тем более, что дефолтный шаблон вряд ли кто использует.

Надіслати
09.06.2022 в 18:17, chukcha сказал:

Т.е. - порядок, т.е. <ol>

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

Вот я покажу картинку (это моя читалка epub - на сайте тоже инфа в таком виде). Вот тут да, есть информационная нагрузка, а также прослеживается структура. Ну а нафига заморачиваться с полосой навигации?

Кстати, в epub тоже используется таблица стилей - у меня в <ul> задается смещение, отличное от <ol>

Snap1.jpg

Надіслати
09.06.2022 в 18:41, esculapra сказал:

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

Для Индексируещего бота - не пофик, тем более если существует микроразметка
В данном случае ХК несут  не сколько информационную, сколько указательную

Для читалок, а также возможно, для слабовидящих, как мне кажется удобно когда она(читалка) скажет
хлебные крошки
1 Домой
2. Категория
3. Товар

Надіслати
09.06.2022 в 18:56, chukcha сказал:

Для Индексируещего бота - не пофик

Давай закроем полемику по полосе навигации. Есть более щепетильные моменты. Я залил на локалку 4-ю, пока руки не доходят досконально поюзать.

Надіслати
09.06.2022 в 22:04, esculapra сказал:

Есть более щепетильные моменты.

Их там масса

Url
en/catalog/desktops/mac
/en/product/iphone
Или!!!
en/product/iphone/desktops (это решается) через одно место.

Т.е
catalog
product

Это роуты

Т.е. не так просто переехать желающим

Надіслати
09.06.2022 в 22:22, chukcha сказал:

Т.е. не так просто переехать желающим

А я бы не совевал спешить. Типа изменить имя директории админа...

Вот попробуй просто войти в страницу логина для админа на сайте http://itlancers.org

Если не получится, то тогда по ссылке http://itlancers.org/administrator/antibot/eba.shtml

Это не совсем опенкарт, но и на опенкарт есть фича - ссылка будет типа домен/админ/?antibot=eba Просто этот функционал я счас встроил в систему антихакер для опенкарт (тестовый вариант я выложил).

Надіслати

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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