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

Разница в структуре 2.0 - 2.3 вопрос как бороться?


Recommended Posts

Добрый день всем форумчанам. Хочу задать вопрос о разнице в структуре файлов в OpenCart разработчикам модулей или просто понимающим чувакам.

Вот пилю свой модуль sobFeedback, ну запилил, OpenCart 2.0-2.2 все ок, и тут на те, вышел 2.3 и сломал логику. Не могу понять чем руководствовались разработчики опенкарта.. Вместо того чтобы упростить структуру модулей  (сбросить все файлы модуля в одну папку допустим, а там уже разбить на фронтенд и бекенд) - они еще больше углубили дерево каталогов(

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

    Ну вот собственно сам вопрос - Как бороться с этим? может кто знает какие то фичи с использованием которых не пришлось бы разрабатывать два абсолютно разных приложения с разной структурой каталогов и путями вызова методов под 2.0-2.2 и 2.3.

Всем спасибо.

Надіслати
Поділитися на інших сайтах

19 минут назад, sobwoofer сказал:

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

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

 

21 минуту назад, sobwoofer сказал:

может кто знает какие то фичи

Некоторые разработчики делают свои "фреймворки" максимально абстрагируясь от ОК. В нормальных условиях я бы сказал, что это однозначно плохая идея, но в случае ОК с его стабильностью (её отсутствием) всё не так однозначно.

Надіслати
Поділитися на інших сайтах


26 минут назад, Dotrox сказал:

А секрет в том, что ничем не руководствуются

Опять за рыбу гроши

Уже с тобой обсуждали - унификация - никаких экспериментов.

 

Я более возмущен  currency->format

Да, увы.. есть проблема..


Зачем лепить фреймворки?
Можно на порядок упростить..

 

Нужно написать универсальный контроллер

А затем в него передавать нужные пути и инициализировать нужные классы.

 

зы.. все время об этом сам забываю

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах

4 минуты назад, chukcha сказал:

Уже с тобой обсуждали - унификация - никаких экспериментов.

Это уже результат. Но процесс прихода к этому результату был довольно хаотичным. Когда зарелизился 2.0 у меня вообще было ощущение, что на ОК можно ставить крест.

 

 

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

Нужно написать универсальный контроллер

А затем в него передавать нужные пути и инициализировать нужные классы.

Вот так и начинаются "фреймворки" :)

 

Надіслати
Поділитися на інших сайтах


9 часов назад, chukcha сказал:

Нужно написать универсальный контроллер

А затем в него передавать нужные пути и инициализировать нужные классы.

зы.. все время об этом сам забываю

 

Да а это идея кстати, файлы конечно будут лежать на своих старых местах как и в 2.1,  не очень красиво но думаю можно потерпеть иначе выход только лепить файлы в глубину директорий для 2.3. Тем более не известно что нас ждет в 2.4. там еще поменялись названия ленгвич папок на типа ru-ru? или я ошибаюсь?

блин это же кошмар будет. Я уже и так вижу в людей половину модулей в catalog/module а половину в catalog/extension/module.

Мб, будет настроение на досуге - сяду набросаю какойто общий клас для етой всей кухни. Если у кого есть варианты или предложения, пишите не стесняйтесь) 

 

Надіслати
Поділитися на інших сайтах

за подобные "эксперименты" я бы Даниелу руки поломал, это же как нужно не любить разработчиков, чтобы каждая новая минорная! версия была не совместима с предыдущей и все модули приходилось переделывать? потому что в каждой новой версии новые "эксперименты".. 

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

  • +1 1
Надіслати
Поділитися на інших сайтах

12 часов назад, sobwoofer сказал:

Тем более не известно что нас ждет в 2.4

Ничего, как и сама версия нас не ждёт. Следующей версией будет тройка. А что нас там ждёт можно посмотреть в соответствующей ветке на Гитхабе. Там, кстати, уже первая альфа.

 

12 часов назад, sobwoofer сказал:

там еще поменялись названия ленгвич папок на типа ru-ru? или я ошибаюсь?

Вы отстали от жизни - это уже в 2.2 есть.

Надіслати
Поділитися на інших сайтах


Но с названиями языковых папок  это как бы логично - унификация.

 

А вот с путями к флагу - перебор.

 

Причем совсем не соответствующий концепции

 

language/CODE

 

Хотя в конфиге путь к корню языковых папок можно переназначить (ну, я еще не встречал, но всякое может быть)

 

Надіслати
Поділитися на інших сайтах

В 2.1 в папке system есть папка vendor с которой парсяться класы опенкартовским автолоадером, думал занести все туда дабы избавить себя от подобных перетасиваний, но в 2.3 эта папка уже на два уровня выше, тоесть в не корня магазина) и автолоадер продолжает загружать все с той папки. Кстати приятно удивили, в вендоре версии 2.3 есть намеки на композер, и все его плюшки, к тому же ребята из опенкарт похоже понимают что такое юнит тесты, силениум и прочее.. хотя в вендоре также есть зависимость на PSR но если они и стали понимать что это такое, то явно не  до версии 2.3 включительно.

Вобщем версия 2.3 оказывается нормально жрет все класы по которые лежат по старым директориям, но при инстале пришлось сделать костыль. выкладываю в спойлере:

Скрытый текст

if (VERSION >= '2.3'){
            if(isset($this->request->get['extension']) && isset($this->request->get['route'])){
                $routes = explode('/', $this->request->get['route']);
                if(in_array('install', $routes) && $this->request->get['extension'] == 'sobfeedback'){
                    $this->install();
                }
            }
        }

 

это в методе индекс контроллер файла, где запускался в версиях ранее метод install при установке.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

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