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

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


sv2109

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

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



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 користувачів

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

Important Information

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