Евгений Шеронов
С нами с 20 мая 2015; Место в рейтинге пользователей: #314 часа назад
Далее код оставил без изменений
<script type="text/javascript">
// <![CDATA[
{literal}
Ext.onReady(f...
Помогите добить VideoGallery 2
4 часа назад
По этому вопросу тоже думаю — создал вопрос тут
Вопрос по будущему MODX и стратегии развития. 2
9 часов назад
Не нужно меня поддерживать в данном конкретном случае. Прошу убрать лишнее
Опыт по переносу MODX2 на MODX3 и Minishop3 2
Вчера в 19:28
В общем убил целый день, но… так у меня ничего и не вышло.
не могу зарегистрировать класс.
содержание самого файла my_msorderhandler.class.php:
...
Кастомизация minishop'a 9
Вчера в 16:01
Компонент очень нужный и мне кажется будет востребован.
У меня тут задача стоит сделать что-то подобное на сайте на движке на MODX 2.8 — там есть ста...
ms3Variants - Реализация вариантов одного товара в MiniShop3 4
Вчера в 14:42
тут пришла мысль что никто не захочет просто так делиться своим опытом за бесплатно. Можно было бы сделать статьи и кейсы платными? Типа хочешь прочит...
Предложение по развитию сообщества: Создание каталога портфолио/реализованных кейсов на MODX с демо ... 1
Вчера в 10:08
Добрый день! Я этот компонент давно делал, и еще лет 5 не возвращался к нему… он работоспособен, все в этом плане нормально (ну по крайней мере с php ...
msProductKits - удобное управление товарами-комплектами (наборами товаров) 29
19 февраля 2026, 10:22
Вижу, спасибо.
Ошибочно решил, что если есть в документации minishop2, то в старых версиях есть и сам код не посмотрел.
Предыдущий идентификатор статуса при событии 'msOnChangeOrderStatus' 4
19 февраля 2026, 09:27
Привет, Алексей.
1. Как определяем ботов
Проверка идёт по User-Agent в ms3rv_is_bot() (helpers.php). Используется regex по типичным маркерам краул...
ms3RecentlyViewed - Недавно просмотренные товары для MiniShop3 2
Если конечно, буду делать SeoFilter PRO, то туда как раз и добавлю построение фильтров на фронт, так как почти всё для этого уже есть даже в базовой версии.
Секрет в том, что прайс-лист должен быть активен и, желательно, ввести какое-то время в минутах, например 60, чтобы прайс-лист по крону обновлялся каждый час даже независимо от того, были ли изменения в товарах.
И встречный вопрос, а вы можете тикет в поддержке на Modstore создать?
Вдруг этот механизм не работает для купивших, но ещё не написавших.
Ну и в любом случае, если совет не помог, то присылайте доступы туда.
Поправьте настройки корневого элемента (на последней вкладке прайс-листа), добавив обработчик к атрибуту date так:
Сам код: Это стандартный обработчик даты средствами Fenom. Значение взято отсюда www.php.net/manual/ru/class.datetimeinterface.php (константа ATOM)
В следующем обновлении учту, и скорее всего автоматически поправлю дату и в ранее добавленных прайс-листах для Яндекс Маркета.
По классам для ajax замен или по ошибкам в консоли будет понятнее проблема.
На почте остался полный текст комментария, там было про события компонента.
Они в общем-то есть, позволяют многое, но документация скудновата.
Соберусь силами и добью документацию :)
P.S. а сам вопрос касательно того, что пока пишется файл поисковики могут получить не валидную часть — добавлю в TODO, чтобы из коробки файл писался с временным названием и после записи переименовывался.
Можно просто по-человечески прописать в Footer, либо убрать этот jsToBottom (что я в общем-то и сделал).
В консоли браузера не только SeoFilter ругался на отсутствие jQuery (при подключении способ выше — он отрабатывает позже и скрипт jQuery становится ниже подключений из плагинов)
Здесь я вижу самый медленный возможный поиск.
Он не использует индексов в БД вообще (так как с двух сторон навешаны %).
Опять таки query параметр никак не экранируется (привет SQL инъекция!).
Возможно pdoTools и обработает как-то where, но рассчитывать, а тем более привыкать так делать не нужно.
Сайт небольшой — это до 100 страниц?
Помимо этого, условие некорректно выполняется. Шаблон не будет учтён при совпадениях вне pagetitle)
А вообще, если в вызове mFilter2 есть условия — то и в правилах SeoFilter их нужно повторить.
Если совет не поможет — пишите в поддержку. Там разберёмся.
А прописаны там только:
Добавьте необходимые и всё заработает.
А в сессии ничего важного и не должно быть. Максимальные потери здесь — содержимое корзины да и выход из аккаунта. А если настроить сохранение на диск, то и потеряется только сессионные данные за последние n секунд)
В MODX нужно всего лишь очистить системную настройку session_handler_class — в этом случае за сессии будет отвечать PHP и по умолчанию будет хранить их в файлах.
Для хранения их в redis нужно в php.ini указать:
И теперь уже PHP будет отвечать за хранение сессий в redis.
Более подробнее уже несложно нагуглить)
При правильных настройках — у активных пользователей сессия не будет слетать (так как часто запрашивается).
А менее популярные сессии анонимов при большом размере кеша будут выталкиваться.
Так и при установке MODX на два сервера и более репликация Redis позволит не слетать авторизациям между запросами на разные сервера (именно тут у сессий в БД и было преимущество над файлами, где тоже можно было настроить репликацию БД между серверами).
Но я не знаю и не делал сайтов на MODX, работающих одновременно на двух серверах)
Но раз это готовое бесплатное решение, то позволите мне немного рекламы?)
Для тех кто хочет визуально управлять элементами с описаниями полей, выгружать большие объемы точно валидного XML и не трогать код — то выгрузка под похожий формат Google Rss 2.0 (это Гугл покупки, и что-то для Фейсбука) есть в компоненте YandexMarket2 (пост о добавлении такого типа выгрузок писать не стал, инфа была только в changelog)
Там где ещё куки пишутся для авторизации.
И эта политика распространяется только на один контроллер компонента, а не на весь MODX, и только тогда, когда мне это нужно))
Я видимо слишком подробно и запутанно объясняю)
По сути просто фронтенд приложение работает на localhost, а весь бэкенд на реальном домене.
Ещё через шторм часто пишу и проверяю SQL запросы подключаясь к БД через ssh туннель)
Да и не вставляю я руками скрипт) этот коннектор всегда такой в ветке dev. В ветке master всё чисто, на которую я и переключаюсь для вливания изменений и для сборки транспортного пакета (именно на ветке master я уже не могу из локального фронтенда подключиться к бэкенду на сервере из-за CORS).
Заготовки же MODX + Vue.js были в статьях на которые я ссылался в своей статье. Там даже установочный скрипт был, но я его не использовал.
Когда начну и допишу документацию по маркету — то попробую поделиться как раз своими конфигами или может целую заготовку сделаю modExtraVuetify. Но это не в ближайшие недели)