- Заметки 99
 - Комментарии 39
 
4 часа назад
            
                Я сделал вот такой скрипт, который можно повесить на cron или запускать вручную при необходимости. Суть в том, что он проходит по всему сайту, генерир...            
        
        
            
            Подскажите, как с помощью StercSeoSiteMap создать карту со ссылками на друге карты ?                            1
                    
    01 ноября 2025, 10:54
            
                Каждое предработное утро я начинаю с чтение новостей. И первым всегда идёт MODX.pro.
От такого дайджеста на меня костюм-тройка чуть сам не налез, б...            
        
        
            
            Дайджест форума за октябрь 2025 глазами DeepSeek                            4
                    
    01 ноября 2025, 10:49
            
                Собственно переговоры прошли успешно, в понедельник передаст мне компонент, к концу месяца будет работать.            
        
        
            
            [CDEKIntegrate] Отправка заказов напрямую в CDEK                            18
                    
    30 октября 2025, 19:01
            
                Два дня проковырялся, пытаясь сделать по этому конфигу.
Один сайт сразу завелся, остальные вместо перехода на страницу редиректят на главную — чудо н...            
        
        
            
            Настройка конфигурации NGINX + PHP-FPM 7.4 на Ubuntu 22.04 + Fastpanel для MODX 2.8.7                            13
                    
    30 октября 2025, 17:34
            
                да да, могу пообедать?            
        
        
            
            Modx 2.8.8 + minishop 2 какая версия php поддерживается?                            13
                    
    28 октября 2025, 22:14
            
                Сам себе отвечу: так как FormIt умеет только прикреплять файл к письму, для чего он файл грузит во временную директорию, надо отдельным хуком переноси...            
        
        
            
            GoogleSheets. Компонент для работы с Google таблицами.                            27
                    
    26 октября 2025, 19:22
            
                всё, спасибо. 
надо было понизить версию PHP -_//            
        
        
            
            [СДЕЛАЙ САМ] SendIt и MiniShop2 - заказ в 1 клик - быстро, просто и бесплатно.                            66
                    
    23 октября 2025, 21:08
            
                Сам отвечу, может кому-то пригодится. 
В классе компонента и его плагине есть проверки статуса заказа. Если статус отличный от «новый», то там сраз...            
        
        
            
            Вопрос по mspYaPay                            1
                    
    
Если кому интересно, то вот реализация для artisan под laravel gist.github.com/AgelxNash/0b6faaa7978e3456f3cbd3ef06b365da
Нужно добавить в нужный источник файлов булеву настройку hideSource:
и создать плагин на OnMediaSourceGetProperties:
Это очистит источники в дереве.
Здесь, как видно, еще и замена контента на свой идёт, на лету.
Можно так на лету и виртуальные ресурсы делать, со своими pagetitle и прочими свойствами. При желании, можно вообще весь сайт без ресурсов сделать =)
Есть у меня один проект, где планировалось вывести на карте 50к точек, много всяких карт перебрал и тд, все было долговато (около 2х секунд, т.к. файл точек весит около 10мб). Потом подумал зачем отдавать все это дело клиенту, решил написать сервер на ноде для «порционной» выгрузки в пределах видимости. Вот что получилось:
s8276.h7.modhost.pro/demo/ на карте размещен кластер на 1.000.000 точек (вес файла 135мб), даже с телефона отрабатывает моментально. Выложил все исходники на github.com/but1head/supercluster-nodejs, может кому-нибудь пригодится.
Это запрещает все запросы на получения объекта xPDO произвольным SQL запросом. Можно использовать либо первичные ключи, либо массивы с прописанными ключами, которые будут проверены при запросе.
По моим тестам работает хорошо, желающие могут проверить на себе — это файл core/xpdo/xpdo.class.php. Предложил код автору xPDO, буду ждать ответа.
Держи рабочий пример из платного msDiscount
Обрати внимание, что в событии доступны 3 параметра: $product, $data и собственно $price
Можете с этим кодом к консоли поиграться.
Все верно. Из-за этого и была проблема. Дело в том, что $modx->regClientStartupScript() и подобные методы работают со свойствами самого $modx, а вот при сохранении кеша используются свойства самого ресурса. А так, как в отработанных уже после процессинга тегах выполняется типа $modx->regClientStartupScript() (который устанавливает свойства для $modx, но не устанавливает их для $modx->resource), то при генерации кеша документа этих скриптов в кеше просто нет. joxi.ru/4Ak3wb9tMX8nGA
Решение: пишем плагин на событие OnBeforeSaveWebPageCache, простейший вид:
И тогда при генерации кеша документа будут сохранены все скрипты. joxi.ru/LmGVQx0uRJN1Xr
При чем это будет выполняться только при первом заходе на страницу. Когда документ уже закеширован будет, это не будет выполняться.
UPD: Может даже имеет смысл это в ядро запулить (то есть код кешманагера поправить), так как очень похоже на багу самого MODX-а. Какая-то глупость в двух отдельных сущностях хранить эти переменные и создавать/получать в разных местах на разных этапах.