Всего 125 096 комментариев

Александр Туниеков
17 сентября 2025, 13:13
+3
Сложный вопрос. Застали в расплох. Как правильно ответить долго думать. Попробую ответить как смогу. Не обессудте.
Как правильно заметил @Futuris, у нас сложный технологический процесс, и запрограммировать множество технических параметрев деталей на extJs очень долго. Для примера, я в начале года пытался перевести тикеты на modx3. Так в них 50 процессоров для разных действий (https://github.com/tuniekov/Tickets/tree/master/core/components/tickets2/src/Processors). gtsAPI устроен так, что ему не нужны куча контролеров. Прописываешь настройки доступа и отображения для таблицы и всем процессом управляет 1 уже написанный контроллер. Это в разы сокращает время написания приложения. Хотя и вносит некоторые ограничения :-). Так вот, чтобы прописать нужный нам функционал на extJs, наверно бы потребовалось написать 500-1000 процессоров.
В примере админки на Vue, PVAdmin, я написал в основном, только нужный нам функционал для менеджеров и инженеров ИТР. Полностью повторять админку MODX у меня задача не стояла. Для стандартных целей админка MODX меня полностью устраивает. Админка PVAdmin, в текущей реализации, нужна только если програмировать сложный функционал или нет желания пускать пользователей в стандартную админку MODX.
Но программировать на Vue с gtsAPI, по моему, гораздо проще, чем на extJs. Если писать приложения вроде Tickets для PVAdmin, то может быть, со временем админка на Vue будет удобнее для обычных сайтов. Пока Tickets для PVAdmin не планирую, но есть некоторый соблазн :-).

Как ими воспользоваться?
Я пишу документацию временами и почти не получаю обратную связь от других разработчиков и пользователей. Так что сейчас документация не слишком хороша. Надеюсь, это исправиться. Преимущества Vue с gtsAPI в том что можно быстрее и проще програмировать компоненты для PVAdmin.
Мои заметки по gtsAPI:
UniTree новые возможности gtsAPI-PVTables
Кейс gtsAPI. CRUD пользователей на фронте
gtsAPI — Универсальное API для MODX
Введение в PVTables
Компонеты для gtsAPI проще писать на основе https://github.com/tuniekov/PVExtra. В readme инструкция.
Сейчас изучать gtsAPI наверно проще по примерам:
https://github.com/tuniekov/OrgStructure
https://github.com/tuniekov/PVAdmin/.
Основные файлы:
В файле _build\configs\gtsapipackages.js настройки таблиц для gtsAPI. По ним gtsAPI и PVTables формируют доступное API и таблицы, деревья, формы на фронте.
В файле core\components\pvextra\model\schema\pvextra.mysql.schema.xml MODX схема базы данных
В файле core\components\pvextra\model\pvextra\pvextra.class.php класс MODX компонента. Триггеры и кастомные действия обращаются в него.
src/App.vue код приложения на vue.

В папке https://github.com/tuniekov/PVExtra/tree/main/docs документация ИИ для ИИ. Часто в нейросеть пишу промпт: Прочитай docs/use_gtsapipackages.md и напиши конфиг для таблицы tableName (например, modUser или modUserProfile).

Надеюсь хорошо ответил… Буду рад если gtsAPI вас заинтересует.
Futuris
17 сентября 2025, 10:47
0
Как понял из предыдущих постов автора — это не для обычных сайтов. У них там сложный технологический процесс, и нужно, чтобы участники этого процесса могли загружать множество технических параметров для своих деталей — видимо обычная админка этого не позволяет. Но вот что это дает разработчикам обычных сайтов — пока не понятно.
Артур Шевченко
17 сентября 2025, 09:48
0
Переформулирую вопрос. Какую проблему или проблемы ты решал, когда делал свою админку? Какие возможности даёт другим разработчикам твоя админка? Как ими воспользоваться?
Александр Туниеков
17 сентября 2025, 01:42
0
А чем она должна быть лучше??? Просто тупо програмирую интерфейс пользователя без extjs. У меня там много всякого. На extjs гемор это делать. Vue удобней.
Артур Шевченко
16 сентября 2025, 22:10
0
А чем эта админка лучше стандартной?
Сергей Карпович
15 сентября 2025, 19:50
0
Подскажите, как включить поле title в окошке добавления изображения в редактор?
Андрей
15 сентября 2025, 18:08
0
Будет ли поддержка MySQL 8? Сейчас компонент не работает с этой версией, приходится откатывать mysql
Артур Шевченко
12 сентября 2025, 20:15
0
Можно обновить, но по инструкции автора
Николай Савин
12 сентября 2025, 18:55
0
Твой код верный. Должен работать. Я бы его немного вот так переделал, чтобы фильтровать GET и проверить существование заголовка HTTP_ACCEPT_LANGUAGE
<?php
  /* Запускаем плагин только на фронтенде и с включенными sef-url */
  if ($modx->context->key == 'mgr' || !$modx->getOption('friendly_urls') || $modx->event->name != 'OnHandleRequest') {
      return;
  }

HTTP_ACCEPT_LANGUAGE есть в 95% случаев, но обычно не гарантия что он обязательно будет
  /* Разрешенные контексты */
  $allowedContexts = ['en' => 'en', 'ru' => 'web'];

  /* Проверяем GET-параметр cultureKey */
  $cultureKey = filter_input(INPUT_GET, 'cultureKey', FILTER_SANITIZE_STRING);
  if (!empty($cultureKey)) {
      $targetContext = isset($allowedContexts[$cultureKey]) ? $allowedContexts[$cultureKey] : 'web';
      $modx->switchContext($targetContext);
  } else {
      /* Если cultureKey не указан, проверяем язык браузера */
      $acceptLanguage = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '';
      if (!empty($acceptLanguage)) {
          $browserLang = strtolower(substr($acceptLanguage, 0, 2));
          if ($browserLang === 'en') {
              $modx->switchContext('en');
          }
      }
      /* В остальных случаях оставляем текущий контекст */
  }
Олег
12 сентября 2025, 18:55
0
Нашел информацию, автор модуля добавил такую возможность modx.pro/components/21775
Только не понимаю, мне надо заново этот модуль покупать? Или можно его как то обновить?
Артур Шевченко
12 сентября 2025, 18:45
0
Есть ли возможность как то его доработать чтобы была возможность добавлять фото к отзыву?
Конечно есть, но лучше сначала документацию почитать, вдруг автор уже добавил такую возможность.
Виталий
12 сентября 2025, 12:11
0
привествую!
Если пригодится, буду только рад )
Все описанное — про линукс (ubuntu)

PS с друпала уходить не планирую. Нравится система и очень, особенно текущая 11 версия. Для разработки, имхо, пока выглядит гораздо «прямее», чем модх.
Дима Касаткин
12 сентября 2025, 00:28
0
Спасибо что поделился и добро пожаловать с MODX!
Я тоже когда-то с Drupal перешел на MODX, назад ни разу желания не возникало возвращаться))

Можешь только уточить, на windows или на mac работаешь с описанным в статье?
(я всегда работаю сразу на хостинге, но кому нужно локально, лучше уточнять, когда речь о докере)
Дмитрий
11 сентября 2025, 21:03
0
А еще у меня импорт доходит до «Импорт создание продуктов (2500 / 0)» и дальше не движется…
Дмитрий
11 сентября 2025, 20:51
0
Что то я так и не понял?
Можно ли импортировать только какие-то конкретные категории из МС, а не все подряд?
Для особо тупых, объясните =)
Сергей
11 сентября 2025, 15:10
0
Это да. Ну в таблице можно вывод ограничить, например максимум 50 первых знаков, а вместо остальных полей просто из тип img, list, link и т.д. Ну это так, мысли вслух)
Aleksandr Huz
11 сентября 2025, 15:02
0
С картинкой исправить можно, а вот с таблицей сложнее, ведь там могут быть разные поля и сама строчка таблицы может быть раздута из-за больших данных.
Поэтому, реально, только картинку исправить
Сергей
11 сентября 2025, 13:14
0
А вот здесь хочется, чтобы в колонке «значения» тоже фото отображалось и пункты таблицы или не отображалось, тогда чтобы при создания поля можно было поставить галочку отображать или нет. А то, чисто интуитивно, когда видишь «Фото: Array» как будто это ошибка.