Кто готов написать заметку?

Приветствую, вышел Modx 3 и обратной совместимости со второй версией у него нет. Постепенно популярные компоненты адаптируют для новой версии, но остаются ещё непопулярные и новые. Так вот, есть как минимум 2 человека готовых оплатить написание заметки с разбором нюансов создания и адаптации компонентов под Modx 3. Задача непростая, но и не срочная. Как только найдется желающий откроем сбор средств на это, без сомнения, благое дело.

P.S. Сам не могу, опыт не позволяет.
Артур Шевченко
11 апреля 2022, 10:16
modx.pro
1
745
+2
Поблагодарить автора Отправить деньги

Комментарии: 19

Наумов Алексей
11 апреля 2022, 12:10
0
Я писал про свой опыт…
modx.pro/components/20322
и несколько ссылок давал на то, чем пользовался сам. Скоро 2 года уже будет этой заметке, актуальность под вопросом)
    Артур Шевченко
    11 апреля 2022, 12:59
    0
    А я ХЗ изменилось ли там, что-то за два года или нет)))
    Николай Савин
    11 апреля 2022, 12:24
    0
    Я сейчас готовлюсь к адаптации минишопа под MODX3. Предварительно будет большой сбор материала и подготовка более простых компонентов. Я в любом случае напишу заметку на эту тему.

    На данный момент насколько я знаю очень приличной экспертизой в MODX3 обладает @Aleksandr Huz
    Саш — может ты возьмешься?
      Артур Шевченко
      11 апреля 2022, 13:01
      0
      Хочу лично у тебя спросить, что там с AjaxForm без jQuery Смотрел? Думал? Решил что-то? А то может отдельный пакет собрать?
        Николай Савин
        11 апреля 2022, 13:05
        0
        Мы с @Павел Гвоздь Обсуждали. Главный затык — это проблемы обратной совместимости. Если сделать по твоему, то сломаем старые сайты обновлением. Самое простое решение это пока использовать в комплекте два набора старый и новый без jQuery. По умолчанию старый. Изменяется тип скрипта системной настройкой. Ее кстати нужно будет добавить.
        Я тебе пока по этому поводу не писал, потому что хочу еще код-ревью сделать. Сам код никак не посмотрю. Не хватает сил.
          Вячеслав
          11 апреля 2022, 13:12
          0
          Хотел спросить в ближайшем будущем minishop2, msearch2 без jQuery будут? Bootstrap 5 без jQuery и на сайтах он нужен будет только для msearch2 и остальных дополнений для minishop2.
            Николай Савин
            11 апреля 2022, 13:16
            0
            msearch2 скорее всего нет, не будет. По нему производятся только мелкие фиксы. А вот чтобы взять, переписать полностью всю JS логику — это много сил нужно. Здесь вам лучше ответит автор @Илья Уткин
            По минишопу я могу ответить уже более точно — да план такой есть. Причем на этот год. Насколько план получится осуществить пока не понятно. Тоже много времени требуется, потому что если ломать, то ломать уже основательно.
            Мы хотим сделать новый JS максимально современным. С событиями, с разбивкой по модулям, с нормальным API в конце концов. Это дофига делов.
              Артур Шевченко
              11 апреля 2022, 15:55
              0
              Я не ахти какой спец в JS, но если надо могу помочь.
            Артур Шевченко
            11 апреля 2022, 14:00
            0
            Ну не знаю насчёт системной настройки, там же изменены и класс, и JS и сниппет и лексиконы, может быть действительно собрать просто отдельный пакет, кто хочет пусть его использует?
              Николай Савин
              11 апреля 2022, 14:20
              0
              Я думал там только JS переписан. Решает в любом случае Павел как владелец компонента. С моей стороны обещаю код-ревью, как только доберусь.
                Артур Шевченко
                11 апреля 2022, 15:57
                0
                А если я своими силами соберу новый пакет, Павел сильно расстроится?
                  Николай Савин
                  11 апреля 2022, 16:29
                  0
                  В таком случае он не попадет в репозиторий (думаю, не пропустят аналог). Да и популярности от него ждать не стоит. Люди больше скачивают знакомое.
                    Артур Шевченко
                    11 апреля 2022, 19:12
                    0
                    Популярность его меня мало интересует, это личное дело каждого, что использовать.
                Павел Гвоздь
                11 апреля 2022, 18:30
                0
                Зачем собирать отдельный пакет? Чтобы плодить кучу одинакового и создавать проблему выбора?
                Твой PR скоро просмотрю, обязательно. Время только найду.
          Aleksandr Huz
          11 апреля 2022, 13:09
          +4
          Честно говоря, тут описывать особо нечего
          1. Создаем файл composer.json
          2. Создаем файл bootstrap.php
          3. Класс в папке model оставляем в таком виде
          И соответсвенно создаем класс в папке src

          Везде где нужно подключить наш сервис, пишем так:
          /** @var ExtraFields $extrafields */
          if ($modx->services instanceof Psr\Http\Client\ClientInterface) {
              $extrafields = $modx->services->get('extrafields');
          } else {
              $extrafields = $modx->getService('extrafields', 'ExtraFields', MODX_CORE_PATH . 'components/extrafields/model/');
          }

          И рекомендовано использовать название класса вот так ExtraFields::class вместо 'ExtraFields'
          Например:
          $_modx->getObject(ExtraFields::class);

          Вот и все, теперь наш компонент совместим с modx2 и 3.
          И пока не вышла версия 3.3, то можно использовать старые название классов благодаря алиасам
            Николай Савин
            11 апреля 2022, 13:13
            1
            +1
            И рекомендовано использовать название класса вот так ExtraFields::class вместо 'ExtraFields'
            Например:
            $_modx->getObject(ExtraFields::class);
            К слову так рекомендовано писать и в MODX2. Я давно так пишу.
          Николай Савин
          11 апреля 2022, 13:19
          0
          Артур статья готова, ты там денег обещал )
            Артур Шевченко
            11 апреля 2022, 14:17
            0
            Начало положено это хорошо. Но хочется немного больше подробностей для нубов, например про composer.json что там должно быть обязательно, а чего может и не быть, про структуру файлов куда можно класть, а куда не стоит. В общем, я подожду твою заметку про minishop.
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            19