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

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


sv2109

7 404 перегляди

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



  В 08.06.2021 в 12:42, optimlab сказав:

Лучше бы

Expand  

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

Надіслати

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

debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3)

 

Надіслати

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

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

Ждём 5.0 :)

  • +1 1
Надіслати
  В 08.06.2021 в 15:43, sashaustenko сказав:

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

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

Ждём 5.0 :)

Expand  

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

Надіслати
  В 08.06.2021 в 19:05, Shureg сказав:

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

Expand  

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

  В 08.06.2021 в 19:05, Shureg сказав:

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

Expand  

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

  В 08.06.2021 в 19:05, Shureg сказав:

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

Expand  

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

 

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

Надіслати
  В 08.06.2021 в 19:05, Shureg сказав:

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

Expand  

 

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

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

 

Надіслати
  В 08.06.2021 в 19:30, sashaustenko сказав:

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

Expand  

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

  В 08.06.2021 в 19:30, sashaustenko сказав:

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

Expand  

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

Надіслати
  В 08.06.2021 в 19:42, Shureg сказав:

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

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

Expand  

 

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

Надіслати
  В 08.06.2021 в 20:58, Shureg сказав:

 

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

Expand  

Vue:

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

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

 

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

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

 

  В 08.06.2021 в 20:31, sitecreator сказав:

 

это зачем?

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

 

 

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

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

Expand  

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

 

 

 

Надіслати

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

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

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

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

Надіслати
  В 09.06.2021 в 09:13, Vladzimir сказав:

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

Expand  

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

Надіслати
  В 09.06.2021 в 13:13, Shureg сказав:

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

Expand  

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

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

Надіслати
  В 09.06.2021 в 13:21, Vladzimir сказав:

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

Expand  

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

  • +1 1
Надіслати
  В 09.06.2021 в 14:03, sv2109 сказав:

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

Expand  

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

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

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

Надіслати
  В 08.06.2021 в 21:41, sashaustenko сказав:

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

Expand  

 

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

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

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

 

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

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

 

 

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

Надіслати
  В 09.06.2021 в 16:50, sitecreator сказав:

 

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

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

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

 

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

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

 

 

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

Expand  

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

Надіслати
  В 09.06.2021 в 14:06, Vladzimir сказав:

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

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

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

Expand  

У меня даже больше вопросов, почему такой гений программирования как 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) {

 

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

Надіслати
  В 12.06.2021 в 16:24, SooR сказав:

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

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

 

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

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

Expand  

да, тоже видел) 
а чтобы разработчики не скучали папку дополнений перенесли в другое место и бутстрап 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.