Сегодня в 10:34
В какое славное время я взялся за изучение кода)) Только выучил элементарную базу PHP, как выясняется, что это скоро и не нужно никому будет). Расходи...
Вопрос по будущему MODX и стратегии развития. 3
Сегодня в 01:40
Далее код оставил без изменений
<script type="text/javascript">
// <![CDATA[
{literal}
Ext.onReady(f...
Помогите добить VideoGallery 2
Вчера в 20:13
Не нужно меня поддерживать в данном конкретном случае. Прошу убрать лишнее
Опыт по переносу 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
Всего 125 661 комментарий
Тогда нужно было их сразу вносить в нужные категории =)
PS> При переносе товара дропом, подкатегории открываются если свернутые, что не есть хорошо, если развернуть то не удобно скролить оч. много. Короче гемор еще тот.
Ну или перезалить их заново, только сразу в нужные категории.
Вобщем, совсем другой уровень услуг по сравнению с нашими, даже демпинговые цены которых перечеркиваются неадекватной техподдержкой…
Искать будет только по ТВ и стандартным полям ресурса MODX — pagetitle, longtitle и т.д.
Сделал так:
Переписывание mSearch + mFilter в планах, но пока не до того.
а можешь подсказать как мне реализовать фильтры ??? Может есть какой-то другой компонент. Без этого никак вообще. ужс
Именно. Но это такое не благодарное дело получится.
Но если уж заморачиваться, то логика должна быть примерно такой:
КАЖДЫЙ сниппет при КАЖДОМ своём выводе должен сверять ПРЕДЫДУЩУЮ выводимую им информацию с ТЕКУЩЕЙ выводимой им информацией. Т.е. надо завести отдельную таблицу и хранить там, к примеру, md5 от выводимых сниппетом данных и дату этих данных. И если md5 от текущих данных отличается от md5 из таблицы, то перезаписывать md5 и дату.
Потом на то же событие «OnLoadWebDocument» проверять количество сниппетов, в которых данные изменились с последнего вызова (эту переменную можно держать в сессии и каждый сниппет при необходимости инкрементирует её). И если это количество отлично от нуля, то отдавать 200. Иначе отдавать 304 (естесственно, не забыть проверять и дату последнего редактирования ресурса, как в текущем варианте).
НО:
1. Мы здесь теряем одно преимущество этого заголовка — снижение реальной нагрузки на сервер (это при достаточно годной посещаемости). Ведь фактически нагрузка увеличится! Это +1 запрос к вызову каждого сниппета и, если использовать md5, то ещё и на хэширование ресурсы тратить.
2. Как определить уникальность вызова сниппета и однозначно идентифицировать его в нашей специальной таблице?
В принципе, можно написать сниппет-обёртку (как getPage), который будет делать всю эту грязную работу. Ну и плагин доработать слегка.
Для поисковиков будет хорошо, да. Эту задачу этот сниппет+плагин будет решать.
Но со вторым «НО» из списка выше пока не понятно. Да и популярностью данное решение пользоваться не будет — оно сложно для понимания и оборачивать нужно КАЖДЫЙ вызов КАЖДОГО сниппета, что, естесственно, подавляющее большинство делать не будет.
Да и кому это вообще надо-то?))) Нафига я всё это писал? xDD
Судя по записям в логе — что то не так с ключами. Можно еще попробовать разлогиниться с сайта и почистить кэш бразуера. Настройки кэшируются в сессии, это может помешать как-то.