Вчера в 00:50
Заметил баг, если установлен controlErrorLog или modalConsole, то на странице CronTabManager они не работают.
PR отправил github.com/astra-modx/modx-...
CrontabManager - работа из под console ssh 6
14 февраля 2025, 22:35
Сниппет pbResources — это аналог pdoResources, но с возможностью присоединять таблицы по принципу «один ко многим», чего нет у pdoResources. Также пер...
PageBlocks. Выводим SEO-карточки 4
13 февраля 2025, 22:33
Вот было бы неплохо это прописать в описании к компоненту. Два дня ломал голову почему не работает. Ведь форма может быть кастомизирована как угодно, ...
Ошибка ms_cdek2 9
13 февраля 2025, 22:30
С точки зрения производительности это плохая идеяПонимаю, но писать свое решение нет ни времени ни денег.
Сортировка в pdoMenu 6
13 февраля 2025, 19:02
Всем добрый день. Может не совсем в тему, но проблема следующая:
1. Есть контекст web — обычные текстовые страницы
2. Есть контекст catalog — катего...
[update] Общая база товаров для разных контекстов 21
13 февраля 2025, 16:46
Спасибо. Так сработало.
easyComm 1.15.0 большой апдейт: ответы, улучшенные файлы и многое другогое! 23
13 февраля 2025, 15:02
Такая же ситуация, загрузить нельзя на modx 3 не находит такого пакета.
А после установки локально сыпятся ошибки
components/sendit/services/sendit....
Нет возможности загрузить SendIt на modx 3.1 а очень хочется 5
13 февраля 2025, 14:15
Всё откатил. Почистил. Установил заново. Написал в поддержку на modstore.pro
msSortFields 17
13 февраля 2025, 12:55
Планируется под 3 обновление, пока просто надо с 2 до конца разобраться.
[EclipseUI] Обновление до версии 1.1.2 Новая тема "github". 2
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 не содержит ресурса, и управлять кэшированием например через стандартную настройку ресурса возможности нет.