Вчера в 17:14
В vesp долго переезжать. Нету модульности никакой и с авторизацией, в смысле с разграничением прав, там Василий особо не напрягался :-)
Плюсы и минусы Vue и gtsAPI 17
Вчера в 15:41
Параметр sortby сортирует по полю в базе. У вас в базе нет поля «pagetitle:getSurname», есть только «pagetitle».
Я бы предложил фамилию записать в ...
Модификатор сортировки pdoResources по pagetitle 2
Вчера в 13:01
Забыл написать версия modx 3.0.5
И сама форма
<form data-si-form="FormSlider" data-si-preset="slider_form" data-si-event=&quo...
[SendIt 2.0.0] Пагинация и обновлённая загрузка файлов 20
Вчера в 09:34
В критерия должны передаваться параметры where это все что можно передать
т.е.
возможно только так
$criteria = array(
"article:LIKE =>...
Массовое удаление 7
25 ноября 2024, 22:34
Вдруг кому понадобится… Прописать TV параметр в источнике файлов для MIGX можно так (для примера TV `ln`):
[[!migxResourceMediaPath...
Источник файлов и migx 6
25 ноября 2024, 21:01
Привет
Подскажи, пжл как добавить поля из компонента msFieldsmanager?
Скрин
msPre - фильтры по опциям minishop2 11
25 ноября 2024, 20:03
А как добавить если чекбоксы?
msPre добавление кастомного поля (списка с автодополнением) 4
25 ноября 2024, 08:00
ну тогда groupby и having«query» принимает все параметры pdoFetch и в нем есть и groupby и having. Пример навскидку:
"query":{
&quo...
Кейс gtsAPI. CRUD пользователей на фронте 2
24 ноября 2024, 20:31
Правильный вариант из текущей документации такой:
{set $condition = 1}
{switch $condition}
{case 0, 1, 2}
сработае...
Конструкция switch case без break в Fenom 6
Я в своих проектах для решения подобной задачи просто использую DSL (Loopback 4), который нивелирует разницу между выбираемой технологией под абстаркцию описания типов (по аналогии, как это делается в MODX, когда описывается схема таблицы в XML). В этом случае мы сможем решить ещё и проблему поддержки нескольких типов БД — MySQL, PostgreSQL, NoSQL.
Веб-воркеры, сервис-воркеры, сокеты, модули, PWA, работа в оффлайне и т. д. — всё то, что будет иметь каждый конкурентный продукт в ближайшие годы. Конечно, все эти технологии не должны навязываться выбранной CMS/CMF-системой, но ещё хуже, когда они противоречат.
Восстребованной будет та система, которая минимизирует время + ошибки + порог вхождения + тестирование и отладку + кастомизацию и/или расширяемость. Я использовал MODX, когда для этих условий не было аналогов, но это время прошло. Быть разработчиком и не развиваться — значит, быть плохим разработчиком.
Я верю в это сообщество, но, думаю, что правильный путь выбрать будет очень непросто. Некоторые решения (REST-расширение, например) вполне очевидны, но вот выбранная архитектура может больно «аукнуться» позже. Трендовые решения (React/Vue/Angular/Ember) дают быстрый старт, но имеют пару фатальных недостатков — они «смертны» (да, Реакт и Вью через 3 года станут жуткими архаизмами или на столько видоизменятся, что будут иметь мало общего с тем, что вы видите сейчас) и однонаправленны — выбирая архитектуру под React, мы практически полностью (ну или в большей степени) делаем её несовместимой с Angular/<ваш любимый фреймворк>.
Я не смею предлагать, но вижу наиболее сильный формат в поиске решений — дебаты. Т. е. должен возникнуть положительный конфликт, когда все заинтересованные стороны (а не один разработчик) принимают решение о векторе (или закладывают точку для ветвления/масштабирования). Своего рода роадмап, но не решений, а обсуждений: RestAPI — на каком языке (может, это вообще микросервис на Go или SaaS-платформа)? Какой API-фреймворк? Работа через API MODX или напрямую с БД? Типизация? Валидация? SDK? Админка — а что на счёт Headless CMS? Может, какой-то DSL для обратной совместимости? React/Vue/Angular/etc? Монорепозиторий (lerna + yarn workspace) или независимые компоненты?. Плюс такого подхода ещё и в том, что параллельно с доводами в пользу своего решения «кандидат» сам будет заинтересован в наибольшей понятности своего предложения. И сразу понятно, какие компоненты системы могут кем курироваться. Стабильно в течение какого-то времени (неделя? месяц?) «комитет» принимает решение (после того, как споры вокруг какой-то темы стабилизировались (утихли или разделилился на несколько лагерей).
Со своей стороны предлагаю опыт в клиентской и серверной шаблонизации, DSL, SSR, сборщиках, компонентном подходе и вёрстке, UX/UI.
Так это не имеет отношения к MODX. Вон на nevatrip.ru у меня 100k записей, а оптимизацией даже не занимался ещё.
А вы попробуйте использовать «Битрикс-подход» к этой проблеме — оплатите работу профессионала. Уверен, будет дешевле аналогичного решения от 1С.
Потому что «взять и переписать» звучит для них гораздо страшнее, чем «мы оставим всё, как есть, но теперь ваши странички будут открываться быстрее и без перезагрузки».
Потому что MODX хоть и достаточно монолитный (в сравнении с всякими Phalcon'ами, Laravel'ами и прочими Yii на composer'ах), но значительная часть архитектуры более чем оправданная, особенно учитывая, сколько времени CoreTeam поддерживает обратную совместимость 2.x-поколения.
Конечно, многое зависит от опыта и «базы» — я пришёл в разработку именно благодаря MODX, он (она?) обеспечил планомерный и правильный «вход в профессию» („Привет!“ «разработчикам мышкой» на WordPress). Тем, кому «повезло» больше и имеет за плечами фундаментальные знания паттернов, алгоритмов и других «интегралов», конечно, сподручнее использовать что-то более низкоуровневое, но это не принижает заслуги MODX и сообщества.
Сейчас у меня есть удачный кейс, когда шаблонизатор отделён от данных дополнительным слоем абстракции, где происходит нормализация и весь шаблон на выходе имеет JSON-структуру, на которую применяются чистые функции. Что это даёт (при наличии опыта и понимания):
* отделение логики от представления, возможность фронт-енду и бэк-енду работать параллельно и независимо, использование mock-объектов для данных, если сервер ещё не готов, бэк-енду не нужно думать о том, как «сверстать всё это, чтобы было красиво» — он работает над правильной архитектурой;
* более высокая скорость отдачи страницы на клиент (да, MODX можно ещё ускорить, и от этого аж уши закладывает!), при этом рендер по-прежнему происходит на сервере (привет, SEO), а при правильном выборе шаблонизатора, код может быть изоморфным — получаете SPA-приложение «из коробки» (те самые «реактивные интерфейсы»). Если не ошибаюсь, Николай @real-Fi1osof Ланец неоднократно рассказывал, что шаблонизатор MODX — bottleneck производительности;
* реиспользование. У MODX в этом плане пока слабо, он довольно монолитный, но фронтендовский компонентный подход во всей красе.
Из возможных минусов: наиболее быстрый шаблонизатор сейчас написан на JavaScript, попытки переписать XJST на PHP, Python и даже Go потерпели фиаско. Сейчас JS, де-факто, стандарт в мире фронт-енд-разработки (рубисты больше не фыр-фыр), т. е., конечно, я не предлагаю начинающим разработчикам делать лендинги на таком стеке, но любой более-менее сложный конкурентный (!) проект, который вы планируете поддерживать или цикл разработки которого больше 5-6 месяцев неизбежно будет обрастать легаси-кодом и лишь правильная декомпозиция позволит этого избежать.
Т. е., если рассматривать MODX исключительно как админку + RESTFul API-сервер, можно наконец-то забыть об оверхеде переноса и отладки клиентской части сайта/приложения на MODX, потому что MODX будет заниматься только тем, чем и должен заниматься бэкенд — данными, не тратя время на шаблонизацию.
— lavkaschastya.com/
— www.schastye.com/
React, нестандартные наборы товаров, вёрстка любой сложности. Хочу ещё попробовать полностью отказаться от MODX-шаблонизатора, но подходящего проекта пока не было.