Василий Наумкин
С нами с 08 декабря 2012; Место в рейтинге пользователей: #16 часов назад
Спасибо за теплые слова Антон.
Документацию пока не начинал делать. Надо бы…
Умные люди советую отдельный проект под документацию и демку поднимат...
MiniShop3 - 1.0.0-alpha 17
Вчера в 20:27
>Во вторых, компьютер не может ничего такого что в него не заложили.
Это не так. Генеративные сети давно могут. Например, они сами обучились по...
Испытание ИИ Cursor 7
Вчера в 14:24
Возник вопрос, цена то да, меняется через msOnGetProductPrice или msOnGetProductFields, а самое главное то, что никто не задавался вопросом, что сорти...
Событие msOnGetProductPrice установить old_price 2
12 декабря 2024, 15:55
не помогло к сожалению, подскажите пожалуйста, в каком направлении вы бы продолжили искать?
msOneClick. Ошибка, не появляется модальное окно 2
11 декабря 2024, 15:29
Разобрался!
Использую редактор Tinymcerte
В системных настройках нужно отключить Относительные URL!
Теперь обычные внутренние ссылки корректные...
Jevix чудит 8
11 декабря 2024, 13:12
Спасибо, точно, забыл про это поле. Может есть пример сниппета на запись в это поле? Не могу понять как обратиться к нужному файлу, получить его поле ...
[UserFiles] - Файлы пользователя. 188
11 декабря 2024, 11:13
Спасибо добрейшее. А тип поля «Текстовая область», как-то можно сменить на TinyMCE RTE?
[ExtraFields] Поле "не появляется/не включить" в "Настройках форм/шаблон Това... 2
10 декабря 2024, 22:05
[[!msOptions?
&options=`mount`
&tpl=`tpl.msOptions.Roman&#...
[Решено] Сортировка параметров опции 2
10 декабря 2024, 17:06
да, работает, спасибо!
[msProducts] Как вывести в каталог только те товары, у которых есть изображения в галерее? 2
Смысл в том, что после разбора внутреннего тега [[+id]] получается новый тег, например [[~9]], а он уже превращается в ссылку на документ с id = 9.
То есть, нужно парсить этот тег минимум 2 раза — это и есть рекурсия. Так весь MODX и работает, это его чуть ли не основная фишка.
Ну а замена простых плейхолдеров… Самый главный архитектор системы об этом давно знает и ничего менять не хочет.
Хочешь исправить — ставь pdoTools и пользуйся, для того расширения и нужны.
Ты даже кода чанков не привёл, тупо итоговые цифры и заявление, что разницы нет.
Если ты эти тесты проводил на одном сайте, и парсер pdoTools был включен — то поздравляю, ты уже пользовался оптимизациями, потому что pdoParser разбирает простые плейсхолдеры сам, без modTag.
Я прямо сейчас создал 2 сайта на modhost.pro. На один установил pdoTools, а на другой нет.
Тестовый сниппет:
Простейший чанк:
Обрати внимание, что чанк без Fenom, чисто синтаксис MODX.
Смотрим на 10000 проходов, чтобы разницу было хорошо видно:
— MODX без pdoTools — 1.3216 сек (самый быстрый результат, что удалось увидеть)
— MODX c установленным pdoTools — 0.0557 (самый тормозной результат, было и 0.0156).
Внимание, pdoTools просто установлен, и работает по умолчанию. Никаких специальных оптимизаций.Теперь понятно, что парсер MODX без pdoTools просто тормозное говно и твои тесты ни о чём?
Updated 26.04.2022
Попробовал повторить тест еще раз и не смог — оказалось, что я допустил ошибку. Если сниппет использует $modx->getChunk(), то разницы в скорости не будет, потому что pdoParser тогда не работает.
Сниппет должен использовать $modx->getService('pdoTools')->getChunk('test', $data);, тогда всё быстро.
Всё проверил еще раз и накатал новую заметку с результатами.
Как справится парсер MODX с выводом такой ветки комментариев, если он каждый тэг и условие будет превращать в modTag и запускать его parse?
PHP шаблонизатор всё еще только про удобство, а не скорость?
Выводится без кэша, потому что комментарии отличаются для каждого юзера. Админу выводятся удалённые, автору подсвечиваются его ответы и т.д.
Попробуйте это повторить на парсере MODX. Не думаю, что вывод комментариев на сайте это прям такая уж редкая задача.
Правда, народ на запрещённом сайте тоже недоумевает
Это сняло бы массу проблем с расположением файлов, переездом рабочих сайтов и разработкой дополнений. Тем более, что домен для него давно куплен и ждёт своего часа — minishop3.com
Но тут сразу второй вопорос — каждое дополнение будет устанавливать собственную такую таблицу? Или они все должны использовать какую-то общую? Если общую — как дополнениям об этом договориться, требовать какую-то зависимость, типа нового дополнения AjaxSettingsDB?
И если у вызова сниппета будет какой-то уникальный параметр, типа id юзера, то количество записей в такой БД будет ровно тем же, что и у таблицы сессий. Еще встаёт вопрос еще об очистке этой таблицы — сколько дней хранить в ней настройки?
Но, повторюсь, этот вариант мне нравится и в былые времена я мог бы переписать свои дополнения на хранение настроек в одной общей таблице. Кто сейчас это будет делать — вопрос.
В репозитории та же версия, что и на modstore.
Архивация репозитория означает, что лично я им заниматься не буду, только и всего.
Но я тоже за расширение оригинальной таблицы modx_sessions через свой плагин для добавления колонок.
Если работа сниппета зависит от каких-то динамических параметров (id юзера или группа), то точно так же замусорит базу данных. При этом, насколько я помню, возможностей по расширению логики работы там поменьше, чем у modSession.
Да и взять и разом почистить modRegistry из админки нельзя.
А до тех пор — я пост убираю.
Или кто-то впервые прочитал про Laravel именно здесь?
А то спасибо сам себе говоришь, а modx.pro — нет.
Но почему родной modx.im до сих пор не перевели ни на MODX, ни на новый Evolution — для меня загадка. Вот где можно было раскрыть всю мощь, написать кучу how-to и прочих подробностей!
Но нет, даже https до сих пор не включили. Видимо, собственное сообщество для бесплатной CMS не в приоритете.
P.S. Судя по ссылкам в футере на сайте DDA Production — это Дима и есть. Сам себе спасибо говорит =)