27 апреля 2022, 16:51 То есть, нужно парсить этот тег минимум 2 раза — это и есть рекурсия. Так весь MODX и работает, это его чуть ли не основная фишка. Я не вижу проблемы где-то эту рекурсию использовать так, а где-то иначе. Например, для условий «if-else» сделать другую логику. Логично сначала парсить условие, а потом уже контент. А про «фишку» впервые слышу. Для разработчиков / pdoParser против modParser 9 0
27 апреля 2022, 11:47 Как ты исправишь основную фишку рекурсивого парсера — рекурсивный разбор тегов? Если я правильно понял, то проблема в том, что парсер MODX парсит изнутри, а не снаружи, поэтому парсит лишнее. Не понял почему это нельзя исправить. Для разработчиков / pdoParser против modParser 9 0
26 апреля 2022, 22:23 То есть, если вы прячете какой-то кусок оформления для вывода только нужным пользователям за условиями в чанке — именно этот кусок и будет первым делом разобран, а потом MODX решит, нужно ли его выводить, когда проверит условие с юзером.Прошу прощения за мой дилетантский вопрос, но не лучше ли было исправить этот косяк и прислать код разработчикам MODX на Гитхаб? Обработку простых тегов тоже можно было бы предложить оптимизировать в коде основного парсера. Для разработчиков / pdoParser против modParser 9 0
04 августа 2021, 19:01 Кстати, использование механизма кэширования (в файлах) это тоже хорошее решение. Ключ к кэшу может создать сам пользователь (разработчик конкретного сайта), а по умолчанию использовать группу пользователя. Для разработчиков / Почему AjaxForm использует сессии? 23 0
04 августа 2021, 18:44 В сессиях обычно хранится уникальная информация пользователя. А форма чаще всего используется не персонально для пользователя, а для групп пользователей (боты входят в анонимную группу). Можно было просто создавать записи в БД для группы пользователей, использование сессии здесь не нужно. Можно так же получать массив параметров сниппетов, но для сохранения написать свою одну функцию (+ свой коннектор). Это просто как вариант. Возможно, есть и другие. Я не критикую, а просто высказываю мнение. Никого не хотел обидеть) Возможно, если бы я писал такое дополнение, то тоже выбрал бы лёгкий путь, всё наперёд просчитать сложно, это я понимаю. Для разработчиков / Почему AjaxForm использует сессии? 23 0
04 августа 2021, 18:28 Казалось бы, совершенно заслуженный камень в мой огород Василий, я ни в коем случае не хотел кидать в ваш огород камень. Просто указал, что проблема существует и её нужно решать, а не делать костыли. Вы выбрали самый просто способ, но есть и другие. Как минимум можно не сохранять параметры в сессии для ботов, думаю можно найти библиотеку для фильтрации по юзер агенту и т.п. (или написать самому). Не хотел Вас задеть). Уважаю за проделанную работу и полезные дополнения. Для разработчиков / Почему AjaxForm использует сессии? 23 0
03 августа 2021, 14:56 Я писал про дополнение «AjaxForm» (может ещё какое-то есть), которое очень популярно. Этот сниппет для каждого посетителя сайта (в т.ч. для ботов) создает записи в сессии, где хранит параметры сниппетов. Представляете какой это объём информации для сайта с хорошей посещаемостью? Сталкивался с сайтами, где на одну страницу минимум 5 раз используется AjaxForm. Во времена повсеместного бума интернет-приватности и частичного отказа от cookies я вот хочу перенести в сессии некоторые настройки персонализации для незарегистрированных посетителей сайта (например открыто или закрыто боковое меню) и вообще сводить к минимуму использование cookies там где возможно. К Вашему сведению, сессия работает через куку, где хранится её ID. Так что переводить на сессию в Вашем случае смысла нет. Лучше используйте в JS LocalStorage или SessionStorage. Технологии нужно использовать по их назначению, тогда и проблем не будет. Новые дополнения и их версии / Еще немного про сессии MODX, компонент smartSessions 76 0
30 июля 2021, 17:03 Уточню что я имею ввиду. Да, в MODX есть особенность, что если отключить «anonymous_sessions», то сессии будут работать только у авторизованных пользователей. В некоторых случаях это подходит (заставлять авторизовываться). Но важен также размер хранящейся информации в таблице сессии. Его нужно свести к минимуму + уменьшить время жизни сессии до суток (или даже 12 часов). Этого вполне достаточно для большинства сайтов. Но по-хорошему эту особенность с «anonymous_sessions» нужно исправить. Сессии должны создаваться только тогда, когда они нужны. Новые дополнения и их версии / Еще немного про сессии MODX, компонент smartSessions 76 0
30 июля 2021, 15:59 А корзина товаров? А если я товар «отложил»... Про это я уже написал. Зачем повторяться? Какой процент всех посетителей использует корзину товаров? Я думаю меньше 50%. а если у нас правда что-то работает через ajax? Для аякса необходимы сессии? Это что-то новенькое) Правильнее бы конечно создавать сессии когда они действительно нужны. Но MODX работает на своей волне Не MODX, а указанное дополнение. Давайте делать статичные странички на html! Ну да, переписать дополнение или использовать другое не нужно. А нужно к этому дополнению городить кучу костылей)) Новые дополнения и их версии / Еще немного про сессии MODX, компонент smartSessions 76 0
30 июля 2021, 13:10 Дополнение. Прочитал по ссылке и ужаснулся: При посещении какой-либо веб-страницы сайта, созданного на PHP, создается сессия.Видимо автор этого текста изучает PHP только в совокупности с MODX (и AjaxForm). В сессии хранятся данные, которые присущи только вашему визиту. Например, корзина товаров, информация о том, авторизовались ли вы для входа в личный кабинет и так далее. А если я не авторизовался и ничего не положил в корзину, то и сессия мне не нужна. На нормальных сайтах именно так и происходит. Новые дополнения и их версии / Еще немного про сессии MODX, компонент smartSessions 76 0
30 июля 2021, 12:44 Вообще хорошо бы понимать, что сессии должны создаваться только для авторизованных пользователей. Вряд ли все эти посетители, которые заходят на ваш сайт, регистрируются и авторизуются. Более разумно просто отказаться от использования таких дополнений как AjaxForm, который для каждого посетителя создает сессию. Тогда таблица вообще не будет пухнуть. Новые дополнения и их версии / Еще немного про сессии MODX, компонент smartSessions 76 0
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
Личный кабинет на Sendit - не удается сбросить пароль Хм, в массиве поле extended приходит пустым, временного пароля там нет. Сам тестовый юзер изначально был зареген в группу Users с правами доступа в личный кабинет (по обычной инстр...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
К Вашему сведению, сессия работает через куку, где хранится её ID. Так что переводить на сессию в Вашем случае смысла нет. Лучше используйте в JS LocalStorage или SessionStorage. Технологии нужно использовать по их назначению, тогда и проблем не будет.
Для аякса необходимы сессии? Это что-то новенькое)
Не MODX, а указанное дополнение.
Ну да, переписать дополнение или использовать другое не нужно. А нужно к этому дополнению городить кучу костылей))
Видимо автор этого текста изучает PHP только в совокупности с MODX (и AjaxForm).
А если я не авторизовался и ничего не положил в корзину, то и сессия мне не нужна. На нормальных сайтах именно так и происходит.