Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


sv2109

5 069 просмотров

 Поделиться

На данный момент продолжается работа над 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 комментария


Рекомендованные комментарии



7 минут назад, optimlab сказал:

Лучше бы

Даниель не читает, а молчит.
Там сейчас одно чудо есть, которое сует свой нос во все щели, при этом занимается только эстетическими измененями

Ссылка на комментарий

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

debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3)

 

Ссылка на комментарий

Opencart 1.5.x лучшая версия.
Как можно было Twig, Bootstrap вшить в Opencart не понимаю, не собираюсь обновлять, пока они движок не перепишут, и не сделают чтобы движок обновлялся через кнопку обновить, а Авторы модулей писали свои дополнения заменяя стандартные действия как делает это Vqmod. Чтобы оригинальные данные вовсе не затрагивались и не изменялись, но их можно было бы отключить, и при обновлении движка, все сохранялось и ничего не летело.

У меня 1.5.x настроен, и избавлен он багов и работает очень быстро.

Ждём 5.0 :)

  • +1 1
Ссылка на комментарий
3 часа назад, sashaustenko сказал:

Opencart 1.5.x лучшая версия.
Как можно было Twig, Bootstrap вшить в Opencart не понимаю, не собираюсь обновлять, пока они движок не перепишут, и не сделают чтобы движок обновлялся через кнопку обновить, а Авторы модулей писали свои дополнения заменяя стандартные действия как делает это Vqmod. Чтобы оригинальные данные вовсе не затрагивались и не изменялись, но их можно было бы отключить, и при обновлении движка, все сохранялось и ничего не летело.

У меня 1.5.x настроен, и избавлен он багов и работает очень быстро.

Ждём 5.0 :)

Ну, если не считать того, что  1.5:
- Работает на таких древних версиях php, что даже не на всех хостингах они еще остались
- Совершенно не оптимизирован под современные требования seo
- Не имеет многих модулей для инеграции/связи с нынешними приложениями, поставщиками и т.п., а те, что были, перестали работать
- Также, как и более поздние версии ОС, через кнопку "обновить" не обновляется
- имеет vqmod , который ничем не лучше ocmod-а. И авторы те же самые  :)
То в остальном 1.5 лучше всех. Правда, непонятно, чем именно лучше. А, да, бутстрапа нет. Хотя вроде никто не запрещает и в 2/3-ке бутстрап с фронта убрать

Ссылка на комментарий
7 минут назад, Shureg сказал:

- Работает на таких древних версиях php, что даже не на всех хостингах они еще остались

1-2 мин делов и 7.2 без проблем заводится

7 минут назад, Shureg сказал:

- Совершенно не оптимизирован под современные требования seo

ocstore вроде заточен под сео? (не силен в сборках, не было необходимости их изучать, начинал с дефолтного 1.5). Если ocstore не решение сео вопросов, то вроде пара модулей и нет проблем?

11 минут назад, Shureg сказал:

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

Большинство действительно ценных модулей при желании адаптируется под 1.5 за 1-3 тыс (из последнего заказывал адаптацию модуля dbs маркета за 1500р пару недель назад не у автора)

 

Посыл предыдущего сообщения скорее в том, что смысла переезжать с 1.5 не было ни на 2, ни на 3, и похоже на 4 версию тоже никакого, заказов это не прибавит, сайт существенно лучше работать не станет (все косяки и так давно исправлены и 10 раз переоптимизированы за все годы работы на 1.5). Учитывая, что переезд равносилен сборке сайта с нуля с полным редизайном и десятками/сотнями кастомных правок.

Ссылка на комментарий
21 минуту назад, Shureg сказал:

Ну, если не считать того, что  1.5:
- Работает на таких древних версиях php, что даже не на всех хостингах они еще остались
- Совершенно не оптимизирован под современные требования seo
- Не имеет многих модулей для инеграции/связи с нынешними приложениями, поставщиками и т.п., а те, что были, перестали работать
- Также, как и более поздние версии ОС, через кнопку "обновить" не обновляется
- имеет vqmod , который ничем не лучше ocmod-а. И авторы те же самые  :)
То в остальном 1.5 лучше всех. Правда, непонятно, чем именно лучше. А, да, бутстрапа нет. Хотя вроде никто не запрещает и в 2/3-ке бутстрап с фронта убрать

 

Ясно.
Вы видимо обновились к 3-й версии?:))... Вам обновили стандартный шаблон и добавили красивые кнопки?:))

Чем проще система, тем она быстрее и надёжнее работает. У меня сео так настроено, что все автоматически генерит через крон, выгрузка рекламы, и всех обновлений автоматизирована. Дело в том, что Авторы модулей не пишут для 1.5, потому что они от этой версии уже не так много заработаю денег, но адекватные владельцы хороших сайтов не обновятся из-за того, что там добавили иконки и ужасный Twig поставили. Для Opencart уже столько написано модулей, что можно что хочешь исправить, настроить, и сделать. От 2-й версии Opencart просто мусор.

 

Ссылка на комментарий
6 минут назад, sashaustenko сказал:

Вы видимо обновились к 3-й версии?:))... Вам обновили стандартный шаблон и добавили красивые кнопки?:))

Это было бы проблематично сделать, поскольку нет у меня сайта... совсем никакого нет :-(

8 минут назад, sashaustenko сказал:

Чем проще система, тем она быстрее и надёжнее работает.

Интересный вывод. Думаю, вам стоит отказаться от mysql. Она слишком сложная, храните данные в xml-файле. Это просто, быстро и надежно.

Ссылка на комментарий
24 минуты назад, Shureg сказал:

Это было бы проблематично сделать, поскольку нет у меня сайта... совсем никакого нет :-(

Интересный вывод. Думаю, вам стоит отказаться от mysql. Она слишком сложная, храните данные в xml-файле. Это просто, быстро и надежно.

 

Вы утрируете:)... Opencart 1.5 подключается к Vue + React, переход на MongoBD. php 5.6 можно смело оставлять. И вуаля. Сайт невероятно быстр. Можно даже Angular вклепать для красивых и модных эффектов, но Vue хватит.

Ссылка на комментарий
15 минут назад, sashaustenko сказал:

переход на MongoBD

 

это зачем?

и вместо чего?

 

16 минут назад, sashaustenko сказал:

Сайт невероятно быстр

 

неужели для этого?

Звучит завораживающе, но фантастически.

Ссылка на комментарий
46 минут назад, sashaustenko сказал:

Vue + React

 

46 минут назад, sashaustenko сказал:

Можно даже Angular вклепать

Остапа понесло

Ссылка на комментарий
37 минут назад, Shureg сказал:

 

Остапа понесло

Vue:

https://vuefront.com/cms/opencart.html

Здесь можно скачать: https://github.com/vuefront/opencart/releases

 

Вы правда думаете что стандартную CMS нельзя переписать под себя?... и Переписать код php под php8 версию??

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

 

1 час назад, sitecreator сказал:

 

это зачем?

и вместо чего?

 

 

неужели для этого?

Звучит завораживающе, но фантастически.

Нет смысла Вам отвечать.

 

 

 

Ссылка на комментарий
8 часов назад, sashaustenko сказал:

У меня 1.5.x настроен, и избавлен он багов и работает очень быстро.

Покажете сие чудо чудесное?

Ссылка на комментарий

А мне, например, не совсем понятно почему Даниэль постоянно изобретает велосипед?

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

Реальный пример - реализация кеша. Та реализация которая сейчас присутствует в системе рассчитана на слабонагруженные магазины.

Например существует проблема с кеш-атакой (cache slams). Решается она довольно просто, через mutex. Или через использование нормальных библиотек кеширования, где это решено изначально (например в phpfastcache или nette/caching).

Ссылка на комментарий
3 часа назад, Vladzimir сказал:

Та реализация которая сейчас присутствует в системе рассчитана на слабонагруженные магазины.

И таких большинство, которым этого хватает. А кому не хватает - кто мешает вам поставить тот же phpfastcache, и наслаждаться? Он никак к ОС не привязан, пихать по дефолту, "чтоб было" - неоправданно.

Ссылка на комментарий
7 минут назад, Shureg сказал:

И таких большинство, которым этого хватает. А кому не хватает - кто мешает вам поставить тот же phpfastcache, и наслаждаться? Он никак к ОС не привязан, пихать по дефолту, "чтоб было" - неоправданно.

Тут речь идет не про какую-то либу, а про недоархитектуру самого опенкарта.

И если Даниэль не может сам написать нормальное решение, то почему не использовать готовое?

Ссылка на комментарий
35 минут назад, Vladzimir сказал:

И если Даниэль не может сам написать нормальное решение, то почему не использовать готовое?

1. Потому что он никак не считает свое творение ненормальным решением, как раз таки наоборот он считает что создал чуть ли не идеальное решение, аналогов которому не существует во всем мире. 
2. Потому что он вбил себе в голову что весь код должен быть максимально простым и чем проще, тем лучше, потому что тогда движок будет очень популярным. И думать так очень удобно для самого Даниела, потому что написал ядро 15 лет назад и все, обновляй версии бутстрапа много лет. А на все вопросы "а почему в движке нету ххххх" есть один универсальный ответ - "потому это нарушает философию движка". Поэтому все предложения добавить сюда что-то новое рубятся под корень ибо не положено, это будет слишком сложно..  

  • +1 1
Ссылка на комментарий
Только что, sv2109 сказал:

 Поэтому все предложения добавить сюда что-то новое рубятся под корень ибо не положено, это будет слишком сложно..  

Сплошная грюсть.

И вот как этому говнокодеру удалось создать такой продукт для рынка?

Хотя скорее всего виноваты сами пользователи опенкарта.

Ссылка на комментарий
18 часов назад, sashaustenko сказал:

Нет смысла Вам отвечать.

 

Лаконичный ответ когда ответа нет.

Т.е. другими словами, за свои слова вы не отвечаете?

а для чего вы пишите тогда?

 

Т.е. вы даже не знаете что именно сами собрались заменить на "MongoBD"? На замену чему?

Которая, конечно же MongoDB подразумевалась?

 

 

Так и скажите, что сами глупость  ляпнули, но не понимаете как это теперь объяснить.

Ссылка на комментарий
2 часа назад, sitecreator сказал:

 

Лаконичный ответ когда ответа нет.

Т.е. другими словами, за свои слова вы не отвечаете?

а для чего вы пишите тогда?

 

Т.е. вы даже не знаете что именно сами собрались заменить на "MongoBD"? На замену чему?

Которая, конечно же MongoDB подразумевалась?

 

 

Так и скажите, что сами глупость  ляпнули, но не понимаете как это теперь объяснить.

Нет смысла Вам отвечать.

Ссылка на комментарий
5 часов назад, Vladzimir сказал:

Сплошная грюсть.

И вот как этому говнокодеру удалось создать такой продукт для рынка?

Хотя скорее всего виноваты сами пользователи опенкарта.

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


Максимум что я помню, он создал клон форума, на который без спроса авторов скопировал бесплатный дополнения.

Чвяк чвяк чвяк....

  • +1 1
Ссылка на комментарий

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

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

 

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

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

Ссылка на комментарий

мало того
Не нужен или нужен последний параметр url->link

public function link($route, $args = '', $js = false) {

 

т.е. или с апмами или без

Ссылка на комментарий
3 часа назад, SooR сказал:

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


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

 

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

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

да, тоже видел) 
а чтобы разработчики не скучали папку дополнений перенесли в другое место и бутстрап 5 добавили вместо 4, визуально мало что поменялось, но если посмотреть по коду любого модуля.. 
вместо
class="pull-right"
class="float-end"
вместо
<ul class="breadcrumb">

<ol class="breadcrumb">

вместо

<li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>

<li class="breadcrumb-item"><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
вместо
<div class="panel panel-default">
<div class="card">
ну и еще несколько десятков! подобных мелочей и нужно будет каждый модуль теперь пол дня переделывать чтобы получить по сути тот же самый вид, только уже под 5 бутстрап! 

Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.