Сергей Шлоков
С нами с 31 января 2013; Место в рейтинге пользователей: #5Вчера в 15:33
Спасибо за обратную связь — возьмем в работу
MiniShop3: итоги февраля и версия 1.6.0 24
22 апреля 2026, 06:21
Мне лично документация вообще не понятна :-). Все просто в доке, но вот вопрос, что за канал создается через ваш бот? Это наш канал или ваш? В доке ма...
[MAX bot] отправляем сообщение в бот MAX на изи 8
22 апреля 2026, 00:22
Оказалось, что Localizator конфликтовал с плагином prettyTags. Ошибки в журнале с этим не связаны.
Localizator 1.0.9 и 1.1.0 8
21 апреля 2026, 19:25
Всё же разобрался.
Браузеры игнорируют CSS-файлы, если сервер отправляет неправильный MIME-тип. Например, вместо text/css может возвращаться text/ht...
pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage 3
18 апреля 2026, 15:34
открыл, не знаю, почему он закрыт оказался) но, стоит учесть, что код там очень старый
msProductKits - удобное управление товарами-комплектами (наборами товаров) 31
15 апреля 2026, 13:43
Несколько корзин на странице это исключительно визуализация. miniShop2 только одна корзина. Из коробки показать её можно всего двумя способами, мой па...
[MsAltCart 1.0.7] Теперь с документацией. 3
14 апреля 2026, 19:53
У стрелок есть срок жизни. Кажется месяц. Вася так сделал, потому что на тот момент гонялись за рейтингом и накручивали, лайкая старые заметки.
ms3Favorites — избранное для MODX Revolution 3 и MiniShop3 3
13 апреля 2026, 11:00
Делал такие «Спецификации», получилось настолько уникальное и заточенное под сайт решение, что прям и в отдельный пакет то не оформить — куча специфич...
Несколько корзин на сайте, списки желаний/покупок, возможность поделиться, списки товаров для расчет... 1
Просто ты ответил немного неопределённо —
То ли за третий, то ли за второй.
П.С. Надо было сделать четыре комментария с каждым вариантом и за них голосовать. Эмулировать опрос. Стормозил чутка.
Для понимания. Если ты создашь новый пустой объект и выведешь его
то тоже получишь все поля, но пустые.
В твоём случае, ты инициализируешь указанные в select поля объектов данными из базы. Остальные поля — так называемые lazy. Они инициализируются из кэша. Если кэша нет, то делается запрос в базу и сохраняется в кэш.
Если нужно получить массив данных (что предпочтительней), то лучше делать так
В этом случае получишь то, что запрашивал. И памяти меньше кушает.
Какое решение лучше?
Интересная статья для размышления. Не хватает четвертого варианта, который описал Василий выше и который использую я при разработке RESTful API дополнения.
Первые два варианта из разряда «забить гвоздь телефоном». Результат маленький и большие накладные расходы.
Третий вариант — это взять маленький молоточек. Чтобы забить средние и большие гвозди придётся сильно попотеть.
Цикл статей, имхо, нужен только для понимания, что встроенные средства MODX мало пригодны. Только для исключительно простых целей. Как по мне, даже JSON:API спецификация с его include, fields, filter и sort неудобна. Мне как разработчику было бы проще послать POST запрос, в котором описать как положено select, where, limit и т.п. Да, это уже не REST, но возможностей гораздо больше.
Во-вторых, про это уже говорили. Данное решение изучалось. Оно оказалось крайне ограниченное. Ничего кроме items/15 вы не получите.Т.е. статью с комментариями одним запросом никак не получить. И поля никак не указать. Так что на этом серьезное API не сделаешь.
В-третьих, сам Джейсон недавно в обсуждениях на Github писал, что делает API через Slim. Т.е. даже сам сапожник не носит свои сапоги.
В-четвертых, задача попробовать минимизировать зависимость от core-разработчиков.
И в-пятых, третья версия MODX планировалась на Slim 3. Возможно наше решение даст толчок для реализации этих планов.
Так что всё пока логично. А вас, товарищ, мы из групповухи вычеркиваем.)
П.С. Какие-то странности с уровнем комментариев. Писал в корень — показывает 3 точки, хотя ссылки на parent нет.Лично я для старта выбрал Swagger, т.е. OpenAPI спецификацию. Она более читабельна, чем JSON-API.