04 ноября 2022, 10:53 0 так сделал $_COOKIE['PHPSESSID'] Вопросы / получить текущий id сессии из modx_session 2
04 ноября 2022, 02:35 0 Как у меня реализовано 1)создана категория с красным цветом 2)в категрии tv со значением color=red(подставить свjи параметры из get) 3)сниппет обертка с разбором гет парамтеров foreach ($catalog_filter as $param){ $kv = explode('=',$param); $_GET[$kv[0]] = $_REQUEST[$kv[0]] = $kv[1]; } Вопросы / mFilter2 Выбранные фильтры по умолчанию 13
31 октября 2022, 14:07 0 Тоже бьюсь с кешированием, обновился до последней версии, кэш создается, но толку от него нет. для меня например критично посадочные страницы, т.е первый лист они самые трафиковые, и конечно снимут нагрузку с сервера, да и приятнее получать листинг не за 800мс, а за 200. тк все эти кликания по кнопкам фильтра понятно, но до этого вообще может и не дойти. есть костыль от Ильи Уткина ilyaut.ru/cheats/caching-mfilter/ и по нему реально прирост идет. Допилил настройкой ТВ на странице, которая включала костыль для определенных страниц, но хочется что то из коробки)) напишите решение до чего добились в производительности Для разработчиков / Кешируем mFilter2 2
24 августа 2022, 15:28 0 там отправляется POST запрос на /assets/components/migx/connector.php Вопросы / Migx прямая ссылка на отфильтрованные записи 2
19 августа 2022, 06:25 0 вобщем разобрался, всеми виной эта строка data-data-key="[[+id]]"заменил на data-data-key="{$id}"и все заработало Вопросы / Производительность msfavorites в mfilter2 6
19 августа 2022, 00:00 0 Решил проще, добавил вывод тэга <div class="myhard" id="hard-{$id}"></div>а в него уже на клиенте ждаваскриптом. что то типа на скорую руку. javascript $('.myhard').each(function(i,obj) { console.log(this.id); var s = '<div class="hart">\n' + ' <a class="msfavorites"\n' + ' data-click\n' + ' data-data-list="default"\n' + ' data-data-type="resource"\n' + ' data-data-key="'+this.id.replace("hard-","")+'"\n' + ' data-msfavorites-animation="like.png"\n' + ' >\n' + ' <i class="msfavorites-icon-heart"></i>\n' + ' </a>\n' + ' </div>'; $(this).append(s); и все заработало без тормозов Вопросы / Производительность msfavorites в mfilter2 6
18 августа 2022, 22:07 0 tpls как чанк подключен, кэширование фенома отключено по своим причинам. меня больше волнует что там происходит под капотом, буду изучать Вопросы / Производительность msfavorites в mfilter2 6
18 августа 2022, 19:12 0 а на некоторых категориях до 4х мин. пока выпилил с листинга, но тормозов добавляет конечно ((( Вопросы / Производительность msfavorites в mfilter2 6
05 мая 2022, 14:51 0 Ждет вас разочарование в изменение кэша, а особенно если будите использовать феном в вашей схеме. Делюсь опытом: 1) для общих страниц используется отдельный контекст, и храните общие страницы там, а подгружаете их в нужные контексты по 404, по алиасу ресурса, причем урлы можно сделать уникальные, чтобы сделать ресурсы максимально непохожими., но стандартная фция формирования url работать не будет в таком случае. 2) для каждого сайта отдельный контекст(можно групировать через отдельную таблицу несколько сайтов на контекст), для этого создал таблицу с урлами откуда потом можно управлять загрузкой и хранить доп параметры, в том числе и настройками конкретного домена. 3)разворачивать можно в отдельном докер контейнере каждый домен отдельно, где в момент подключения вольюма менять фактическое положение кэша на хост машине, в результате чего на уровне контейнера кэш будет изолирован. 4) картинки лучше вынести на отдельные поддомены, чтобы не пложить одинаковые. Теперь о грусном, это кэш: как написали выше «contextKey]/resources/[id]» лучше не делать, дело в том что кэш содержит в основном данные ресурса а вашем случае его плодить ненужно. можно использовать кэш фенома, но он работает довольно скверно и плодит кучу дублей. смотрел бы в сторону смарти Вопросы / Как поменять папку cache? 4
28 апреля 2022, 18:25 0 мне нужны ids с текущего листинга а не все Вопросы / mfilter2 получить id ресурсов перед выводом листинга 9
28 апреля 2022, 17:32 0 ну так сниппет же 2 раза отработает, работать будет в два раза больше Вопросы / mfilter2 получить id ресурсов перед выводом листинга 9
28 апреля 2022, 16:53 0 у меня не msearche2 а mfilter2, там сложная выборка по фильтру Вопросы / mfilter2 получить id ресурсов перед выводом листинга 9
28 апреля 2022, 15:24 0 не хотелось бы сниппет трогать Вопросы / mfilter2 получить id ресурсов перед выводом листинга 9
20 апреля 2022, 17:13 0 попробовал решить так в плагине, но не работает, может подскажите костыль case 'OnHandleRequest': if ($modx->resource->cacheable == false) { $pdoTools = $modx->getService('pdoTools'); $pdoTools->config['useFenomCache'] = null; } Вопросы / Кэширование в pdotools 25
20 апреля 2022, 11:45 0 Судя по стэктрейсу string(810) "#0 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdotools.class.php(45): pdoTools->setConfig(Array) #1 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdoparser.class.php(24): pdoTools->__construct(Object(modX)) #2 /usr/share/nginx/www/core/xpdo/xpdo.class.php(1236): pdoParser->__construct(Object(modX), Array) #3 /usr/share/nginx/www/core/model/modx/modx.class.php(719): xPDO->getService('parser', 'pdoParser', '/usr/share/ngin...') #4 /usr/share/nginx/www/core/model/modx/modelement.class.php(566): modX->getParser() #5 /usr/share/nginx/www/core/model/modx/modx.class.php(1673): modElement->getProperties() #6 /usr/share/nginx/www/core/model/modx/modx.class.php(568): modX->invokeEvent('OnMODXInit', Array) #7 /usr/share/nginx/www/index.php(50): modX->initialize('web') #8 {main}" после события OnMODXInit Вопросы / Кэширование в pdotools 25
20 апреля 2022, 08:57 0 Неработает, тк в классе pdoTools в setConfig устанавливается $this->config['useFenomCache'] = $this->modx->getOption('pdotools_fenom_cache', null, false); До вызова OnHandleRequest и уже проверка идет в методе fenom if (!empty($this->config['useFenomCache'])) { Поэтому установка этого свойства конечно меняет конфиг, но fenom его читает раньше Вопросы / Кэширование в pdotools 25
19 апреля 2022, 15:59 0 вопрос был в отключении кэша отдельного ресурса Вопросы / Кэширование в pdotools 25
19 апреля 2022, 14:24 0 Это очень круто, почитал, думаю стоит изучить и внедрить, но быстро мигрировать тем более на бетта версию не выйдет :( вообще то что получил сейчас это очень большой кэш в папке default/pdotools, на одну страницу приходится по 2 файла кэша, а с учетом того что у меня много ресурсов, + много виртуальных страниц, весь объем диск съедаю за раз. кэшировать все необходимости нет, только посещаемые страницы. но отключить кэш или принудительно включить не могу. в настройках есть только общая настройка pdotools_fenom_cache, отключив которую кэш не формируется, но и основные страницы работают медленно. Как вариант переписать xpdocachemanager.class.php, но там объект modx не содержит ресурса, и управлять кэшированием например через стандартную настройку ресурса возможности нет. Вопросы / Кэширование в pdotools 25
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска соб...
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены ...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
FileMan - прикрепление файлов к ресурсам для MODX 3 Добрый день! Может что-то с правами доступа к файлам? Посмотрите логи в modx, в php. С ходу сложно ответить, ранее не было таких случаев.
1)создана категория с красным цветом
2)в категрии tv со значением color=red(подставить свjи параметры из get)
3)сниппет обертка с разбором гет парамтеров
foreach ($catalog_filter as $param){
$kv = explode('=',$param);
$_GET[$kv[0]] = $_REQUEST[$kv[0]] = $kv[1];
}
заменил на и все заработало
вывод тэга а в него уже на клиенте ждаваскриптом. что то типа на скорую руку.
javascript
и все заработало без тормозов
Делюсь опытом:
1) для общих страниц используется отдельный контекст, и храните общие страницы там, а подгружаете их в нужные контексты по 404, по алиасу ресурса, причем урлы можно сделать уникальные, чтобы сделать ресурсы максимально непохожими., но стандартная фция формирования url работать не будет в таком случае.
2) для каждого сайта отдельный контекст(можно групировать через отдельную таблицу несколько сайтов на контекст), для этого создал таблицу с урлами откуда потом можно управлять загрузкой и хранить доп параметры, в том числе и настройками конкретного домена.
3)разворачивать можно в отдельном докер контейнере каждый домен отдельно, где в момент подключения вольюма менять фактическое положение кэша на хост машине, в результате чего на уровне контейнера кэш будет изолирован.
4) картинки лучше вынести на отдельные поддомены, чтобы не пложить одинаковые.
Теперь о грусном, это кэш:
как написали выше «contextKey]/resources/[id]» лучше не делать, дело в том что кэш содержит в основном данные ресурса а вашем случае его плодить ненужно.
можно использовать кэш фенома, но он работает довольно скверно и плодит кучу дублей.
смотрел бы в сторону смарти
string(810) "#0 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdotools.class.php(45): pdoTools->setConfig(Array) #1 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdoparser.class.php(24): pdoTools->__construct(Object(modX)) #2 /usr/share/nginx/www/core/xpdo/xpdo.class.php(1236): pdoParser->__construct(Object(modX), Array) #3 /usr/share/nginx/www/core/model/modx/modx.class.php(719): xPDO->getService('parser', 'pdoParser', '/usr/share/ngin...') #4 /usr/share/nginx/www/core/model/modx/modelement.class.php(566): modX->getParser() #5 /usr/share/nginx/www/core/model/modx/modx.class.php(1673): modElement->getProperties() #6 /usr/share/nginx/www/core/model/modx/modx.class.php(568): modX->invokeEvent('OnMODXInit', Array) #7 /usr/share/nginx/www/index.php(50): modX->initialize('web') #8 {main}"
после события OnMODXInit
$this->config['useFenomCache'] = $this->modx->getOption('pdotools_fenom_cache', null, false);
До вызова OnHandleRequest
и уже проверка идет в методе fenom
if (!empty($this->config['useFenomCache'])) {
Поэтому установка этого свойства конечно меняет конфиг, но fenom его читает раньше
вообще то что получил сейчас это очень большой кэш в папке default/pdotools, на одну страницу приходится по 2 файла кэша, а с учетом того что у меня много ресурсов, + много виртуальных страниц, весь объем диск съедаю за раз. кэшировать все необходимости нет, только посещаемые страницы. но отключить кэш или принудительно включить не могу. в настройках есть только общая настройка pdotools_fenom_cache, отключив которую кэш не формируется, но и основные страницы работают медленно. Как вариант переписать xpdocachemanager.class.php, но там объект modx не содержит ресурса, и управлять кэшированием например через стандартную настройку ресурса возможности нет.