Добавить комментарий

СтатьяАвтообновление модулей в OpenCart. Когда?

Тема сегодня поднималась на форуме - во многих популярных движках есть такая мега крутая штука как авто обновление. Прямо из админки можно обновить как любой модуль так и сам движок до более новой версии. 

Например, вы заходите в админку в раздел модулей и видите: "Модуль 1", версия 2.5.3 и сообщение "Доступна новая версия этого модуля 2.6.1, обновить?" И кнопочка "Обновить". Вы нажимаете эту заветную кнопку, система пару секунд что-то думает, страницы обновляется и у вас уже установлена версия 2.6.1 этого модуля. При этом не нужно идти на сайт движка, качать этот модуль, копировать его через FTP итд. Так же можно обновить и движок. 
Или у вас в админке есть раздел с каталогом доступных модулей из он-лайн каталога, вы можете найти оттуда любой нужный вам модуль и с помощью нажатия той же заветной кнопки установить его на свой магазин. Не понравился? Точно так же нажатием на 1 кнопку и удалить. 
 

Удобно? 

Да! Очень!
 

Ну так когда же подобный функционал появится в OpenCart?

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

Почему так?

Причин несколько:
 
1. OpenCart не умеет работать с версиями модуля, он он них вообще не видит. В других движках это есть и это позволяет движку:
  • понимать что есть новая версия
  • обрабатывать зависимости, например для "Модуля 1" версии 2.6.1 нужен "Модуль 2" версии не ниже 3.5, если этот "Модуль 2" не установлен или имеет версию ниже то "Модуль 1" просто не установится. Это позволяет избежать огромного количества конфликтов и ошибок.
  • создать механизм обновления модулей. Например в "Модуле 1" в версии 2.6.1 добавилась новая таблица в базе данных. В этом случае мы можем создать отдельную функцию, которая добавит эту таблицу в базу данных. Движок проверит версии модулей и обновлений к ним и автоматически все обновит. 
 
2. в OpenCart нету нормальной системы расширения движка через Хуки или События, вместо этого есть костыль под названием vQmod который является причиной огромного количества конфликтов. И если систем автаматического обновления и появится, то после обновления каждого второго модуля придется вручную исправлять все эти конфликты
 
3. в OpenCart нету системы удаления модулей. То есть файлов модуля, записей в базе, которую создал модуль итд. Плюс все файлы модуля раскиданы по всем папкам движка. И, установив ненужный модуль, чтобы его удалить нужно будет вручную найти и удалить все файлы этого модуля во всех папках.
 
Так что, увы, за все нужно платить. Хотите простую систему, которую можно изучить за 2-3 дня? Получите мало функциональный движок, без множества крутых фич, доступных в других движках. 
 

Filtered HTML ckeditor

Plain text

CAPTCHA
Защита от спама
Image CAPTCHA
Enter the characters shown in the image.
You are reporting a typo in the following text:
Simply click the "Send typo report" button to complete the report. You can also include a comment.