Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


sv2109

1,528 views

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

54 Comments


Recommended Comments



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

Из какого контроллера/метода вызвана, например модель

 

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

какой файл контроллера/метода вызывает то или иное событие

Так лучше?

 

Лучше бы запостил Диниелю идею, чем кричать...

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

Лучше бы

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

Link to comment
19 минут назад, chukcha сказал:

Даниель не читает, а молчит.

и это правда

Link to comment

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

debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3)

 

Link to comment

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

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

Ждём 5.0 :)

  • +1 1
Link to comment
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-ке бутстрап с фронта убрать

Link to comment
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). Учитывая, что переезд равносилен сборке сайта с нуля с полным редизайном и десятками/сотнями кастомных правок.

Link to comment
21 минуту назад, Shureg сказал:

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

 

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

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

 

Link to comment
6 минут назад, sashaustenko сказал:

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

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

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

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

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

Link to comment
24 минуты назад, Shureg сказал:

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

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

 

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

Link to comment
15 минут назад, sashaustenko сказал:

переход на MongoBD

 

это зачем?

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

 

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

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

 

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

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

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

Vue + React

 

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

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

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

Link to comment
37 минут назад, Shureg сказал:

 

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

Vue:

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

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

 

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

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

 

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

 

это зачем?

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

 

 

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

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

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

 

 

 

Link to comment
8 часов назад, sashaustenko сказал:

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

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

Link to comment
7 часов назад, optimlab сказал:

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

Opencart.com

Link to comment

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

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

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

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

Link to comment
3 часа назад, Vladzimir сказал:

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

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

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

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

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

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

Link to comment
35 минут назад, Vladzimir сказал:

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

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

  • +1 1
Link to comment
Только что, sv2109 сказал:

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

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

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

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

Link to comment
18 часов назад, sashaustenko сказал:

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

 

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

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

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

 

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

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

 

 

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

Link to comment
2 часа назад, sitecreator сказал:

 

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

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

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

 

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

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

 

 

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

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

Link to comment
5 часов назад, Vladzimir сказал:

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

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

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

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


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

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

Link to comment

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

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

 

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

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

Link to comment

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

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

 

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

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.