6 минут назад
Привет. Можно попробовать обновить до версии 1.14.0-pl, она у меня включена в репозитории для загрузки. Я не знаю, работает ли этот механизм сейчас (в...
Как обновить модуль Easy Comm чтобы появилась возможность добавить файлы к отзыву? 2
20 сентября 2025, 15:07
Добрый день! Спасибо за описание)
Еще стоит упомянуть про вкладку Actionbuttons (в настройке MIGX-конфигурации) — тут надо отметить галочку additem —...
MigxDB - Делаем безграничное хранилище "объектов" в ресурсах. 10
20 сентября 2025, 09:13
ну как я и говорил, это наверное самый распространенный косяк)))
msOrderFields. Управление полями заказа. 48
19 сентября 2025, 18:18
Сложностей мне и так хватает. У меня gtsAPI используется в работе. А для документации и кейсов делать слишком длинные уроки разве разумно?
PVAdmin мини-админка для MODX 2.8 16
19 сентября 2025, 02:26
Какая версия MODX?
Selectel S3 + AWS S3 Media Source 3.0 как источник файлов для галереи изображений 2
19 сентября 2025, 01:47
Наталья,
так скажем шаблоны для разработки
MODX2
github.com/Boshnik/modExtra
MODX3
github.com/modx-pro/ModExtra3
Разработка нового дополнения 9
18 сентября 2025, 20:04
Есть ещё вариант дописывать vin в pagetitle плагином на сохранение ресурса
Вывод TV в дереве ресурсов 4
18 сентября 2025, 17:14
так, а в чем проблема во втором абзаце, не очень понял?
$modx->addEventListenerClosure(
'OnWebPagePrerender',
function (\MODX\Revolution...
Предложение нового механизма closure и слушателей событий в bootstrap неймспейсов MODX с приоритетам... 8
18 сентября 2025, 11:07
Ну логично. Скрипт делает выборку по таблице modResource, и там такого поля нет. Оно лежит в другой таблице msProductOption.
Попробуй писать msProdu...
Сортировка msfilter2 по msOption 1
18 сентября 2025, 01:09
Что РКН с инетом делает?? гитхаб не открывается, а впн помогло :-(
[SendIt 2.5.0] Дополнительная защита от SQL-инъекций 5
Всего 125 090 комментариев
В последней версии MODX 3.1.2 я не вижу даже тегов в mediamanager, не говоря уже о том, что они каким-то образом обновляются с помощью искусственного интеллекта.
Как и где можно потрогать руками хотя бы какие-то результаты хакатона?
— Hi @Henk Everts, thx for answer! In linked post most intesr for me «we integrated AI into the media manager to make managing existing images a whole lot easier» (with tags, etc.) — but i not found links for updated versions. This updates for you intranet products, or MODX media manager will get AI categorize update?
In latest MODX 3.1.2 version i cant see even tags in mediamanager, not to mention that they are somehow updated with the help of AI.
Where or how we can test any hakathon results?
P.S. Еranslated manually for train my english :) sorry for mistakes, may be
Если упрощать, то когда ты делаешь leftJoin одна таблица ставится рядом с другой так, чтобы совпали поля, которые ты указываешь в условии ON (или передаешь третьим параметром в метод leftJoin). Таким образом получается новая таблица, но с бОльшим количеством столбцов, при этом количество строк будет таким же как и в первой таблице. Например, если у тебя в первой таблице одна запись, а во второй две, в итоговой таблице будет одна запись. Именно поэтому ты не можешь просто взять и присоединить все товары, тебе нужно сгруппировать их по id заказа, упаковать их в одну строку и только потом присоединять. вот так можно получить товары для заказа с id = 594
Что за список товаров? Если в админке — он и так выводится в списке заказов, когда модалку открываешь. Если в публичной части сайта, к примеру, в ЛК, то зачем тащить процессор? Не проще ли составить нужный запрос в сниппете и в зависимости от id заказа цеплять товары? Ну, плюс ещё проверять принадлежность заказа к юзеру.
Зачем нужен пункт 1 и 2? Ведь это решается стандартными полями ресурса в MODX?
(ERROR @ /home/c/cz42644/test-iflower/public_html/core/xpdo/xpdo.class.php: 644) Could not load class: ms2_order_products from mysql.ms2_order_products.
(ERROR @ /home/c/cz42644/test-iflower/public_html/core/xpdo/xpdo.class.php: 644) Could not load class: msorderProducts from mysql.msorderproducts.
[2025-04-13 15:04:21] (ERROR @ /home/c/cz42644/test-iflower/public_html/core/xpdo/xpdo.class.php: 1827) No foreign key definition for parentClass: msOrder using relation alias: Product
Каждая ошибка повторяется по нескольку раз, но это я так понимаю, идет несколько обращений к бд и каждое порождает одну и тужу ошибку.
Как я это себе вижу=) А ты меня поправь.
Те данные, что присутствуют в таблице с заказами, берутся из таблицы _ms2_orders, у меня уже получилось расширить эту таблицу данными из таблицы _ms2_order_addresses, это выглядело сложно, но я справился (скажу даже, что я не менял исходники, а сделал красиво, именно расширив своими файлами), т.к. нужный запрос уже присутствовал в процессоре (фильтрация заказов частично делается и по этой таблице). Я так понимаю, что за это отвечает эта часть кода $c->leftJoin('msOrderAddress', 'Address'); Т.е. дальше, я просто немного изменил SQL-запрос добавив выборку нужных полей.
Сейчас, мне нужно в запрос подключить еще одну таблицу, а именно _ms2_order_products, причем еще нужно сделать сортировку по id заказа, т.к. товаров в одном заказе может быть много.
Не получится ли сделать подобным образом?
или нужно идти по пути, который ты предложил?
Что такое msOrderAddress в данном случае $c->leftJoin('msOrderAddress', 'Address');? А самое главное откуда оно берется, это же не таблица в БД, а объект, класс или что-то еще? Где можно найти рождение msOrderAddress этого? Выше написанная строчка кода делает алиас в запросе, и при дальнейшем обращении я уже могу обращаться к таблице _ms2_order_addresses как Address.
В админке они отображаются в обеих категориях, опубликованы, кэши сняты
Showlog также их не видит
MODX 3.1.2-pl
MiniShop3 — 1.0.0-alpha
Скоро будет отдельная статья про мультиязычность.
совы на глобусверстки нужно расставить плейсхолдеры и записать значение плейсхолдера в админке. А перед этим нужно создать поля для этих значений. А тут ты расставил атрибуты, запустил скрипт и плейсхолдеры расставились, поля создались, значения записались. Другое дело, что migx не лучший способ хранения данных, поэтому твой подход безусловно круче.Как работает мультиязычность? Допустим я перевел блок на три языка, как на фронте переключить язык?
В компонент уже встроена экспериментальная функция AI Block, которая позволяет на основе верстки автоматически создать конструктор блока, чанк и сразу добавить заполненный блок на текущую страницу — без каких-либо дополнительных атрибутов в верстке.
К сожалению, со сложными блоками ChatGPT справляется плохо, поэтому я пока отложил этот функционал.
Для включения этой функции нужно добавить ключ в настройку pageblocks_chatgpt_apikey и после этого в меню настроек блоков (рядом с кнопкой «Создать») добавить соответствующий пункт.
По сути, добавлять атрибуты в вёрстку — это то же самое, что вручную расставлять плейсхолдеры. Только ещё нужно знать, какие атрибуты использовать и куда их вставлять, поэтому этот вариант пока не рассматривается.
Сейчас в приоритете — режим разработчика и роутинг.
Так-то программирование в чанках с начала времён (появления php-шаблонизаторов) считалось плохой идеей, но MIGX так располагает, что про это многие забыли. Просто fenom даёт слишком много свободы, а MOGX как бы располагал к тому, чтобы этой свободой злоупотреблять…
Так что ты, @Aleksandr Huz тот самый наш герой, который показывает, что мир может быть другим, и код — красивым!
Вы вообще видели этот синтаксис в примерах «Режим разработки» из поста? Анбиливабл эвесамнесс какой-то! Слов нет как круто...
Во-вторых, настройка таблиц в PageBlocks куда мощнее: данные сохраняются не в JSON, а в нормальной структуре БД, что даёт гибкость для фильтрации, поиска и реализации сложной логики.
А ещё в PageBlocks есть блоки, синхронизация блоков между ресурсами, встроенный роутинг и многое другое.
Поэтому PageBlocks на порядок мощнее MIGX — это уже полноценный фреймворк внутри MODX.
Если у тебя появятся вопросы — не стесняйся, задавай!
Спасибо ChatGPT за перевод. ;-)