wfoojjaec
С нами с 31 июля 2019; Место в рейтинге пользователей: #9001 ноября 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
                    
    23 октября 2025, 13:18
            
                Ну не знаю, только устарновил Sendit и у форм c AjaxForm появились уведомления             
        
        
            
            [СДЕЛАЙ САМ] Поиск на сайте по-быстрому                            31
                    
    
На счёт дизайна — нет смысла тратить на это столько усилий. Это админка, а не свистопердящий фронтенд. Достаточно какого-нибудь шаблона за 5$ с themeforest по тегу dashboard, подогнанного под нужды MODX.
На мой взгляд это упирается совсем в другую, более глобальную проблему — ExtJS. Отказаться от него сложно. Использовать bootstrap (для которого уйма дешёвых и красивых решений для админок) в паре с ним крайне затруднительно. Лучшее, что можно безболезненно натянуть на текущую админку — это тему для ExtJS с мелкими правками для разного разрешения, где это вообще возможно (почти нигде. т к ExtJS почти всегда меряет размеры скриптами).
https://datatables.net/
Из того, что у них особенно понравилось — хорошо оптимизирован поиск и сортировка. Неплохо выгребает даже на 200к записей.
Обрабатывать HTML, как и любую структуру, регулярками, а не полноценным построением подели через парсинг, очень плохая идея. Про это неоднократно пишут. Возможны самые различные последствия, самые вкусные из которых:
1. Повреждение преформатированного текста, где важен каждый символ.
2. Повреждение ld+json разметки, json-аттрибутов, шаблонов, где пробелы тоже часто играют роль.
3. Повреждение JavaScript кода, в частности регулярных выражений, строк и логики (потеря перевода строки может приводить к нерабочему коду).
И другие подобные прелести.
Лучше пользоваться услугами CDN, если уже совсем лень.
Ultron, как и любой маркетплейс, берёт с продавца комиссию. Если я правильно помню, то цифры следующие (пример из письма от вс, 26 янв., 10:12):
Требований по обновлению самих сборок к разработчикам они не предъявляют (исходя из того же письма). Поэтому не понятно, кто в конечном счёте должен следить за актуальностью версий дополнений и движкой в сборках. Вероятно сам покупатель (есть ли об этом какое-то предупреждение на видном месте или в справочном разделе — хз).
К чему это я. Маркетплейс, конечно, хороший, но конкретно этот момент продуман ну очень хреново. Лично я отказался сотрудничать с ними, но не по этой причине. К сожалению платные компоненты включить в сборку у них возможности нет. Было бы неплохо, если бы комиссии действительно оправдывали себя (защита покупателя, накопительные скидки, техническая поддержка и прочие, обязательные, для современного мира плюшки).
Буду рад, если смогу как-то улучшить описание. Тестирование на modhost не такой и бессмысленный процесс.
Если сомневаетесь — обязательно воспользуйтесь тестированием компонентов. Если что-то не понятно из документации — смело задавайте вопросы. Для того автор, то есть я, и указывает свои контакты, где это возможно.
Для работы компонента его достаточно просто установить. Сниппет служит для конфигурации, чтобы отдельные страницы или шаблоны можно было обрабатывать по другим правилам или с другим набором подключенных библиотек.
Ранее тестировали PageSpeed для Nginx. Из проблем — это не промышленное решение. Он либо есть у хостера либо его нет. Если сервер свой, то надо ставить руками. И обычным apt-get install к сожалению обойтись не выйдет, нужно угробить часы админского времени. Из-за этого пришлось от него отказаться.
Следующим шагом был выбор провайдера. Именно он влияет на рейтинг «первого байта». И к сожалению скорость для РФ не значит скорость для Google. Оптимальным показался именно выбор провайдера на территории Европы с использованием CDN. Выбор очень широкий и качество достойное.
Ленивая загрузка изображений делалась через bLazy (есть и другие, превосходные аналоги).
Сжатие спева делалось через MinifyX. Он офигенно справляется, если все ресурсы уже скачаны и разложены по папочкам.
Позже накопился ворох плагинов на JavaScript, которые приходилось менять или обновлять. Аналогично было и с версиями Bootstrap. Пришлось переехать на NodeJS (webpack, gulp, тысячи их). Всё офигенно, но зачем тогда MODX?..
Отдельных мучений стоила минификация HTML. В некоторых случаях CDN давал не самые подходящие результаты, и Google не пропускал, предлагая сжать HTML ещё лучше, а минификаторы из официальных репозиториев могли похвастаться одной и той же \s+ регуляркой, которая съедала всё на своём пути.
Google тем временем требовал ещё и грамотно поставить теги preconnect и использовать async/defer.
Плюнули. Написали свою шарманку для склеивания скриптов и стилей в кучу. Завернули туда же минификатор. Назвали PageSpeed.
Следующим шагом был webp. Первой попыткой была конвертация картинок «на лету». Стало понятно, что этот идиотизм проживёт до первой тысячи картинок или посетителей, и память превратится в склероз.
Второй — попытка делать отконвертированные копии при загрузке или по cron-у. Ждать час или каждую минуту сканировать кучу каталогов.
Третьей — очередной модуль для Nginx.
В итоге — конвертация с сохранением во временный кэш, лежащий рядом с движком. Расход места возрастает примерно на половину веса картинок, но зато конвертация идёт «по требованию». Если какую-то картинку вдруг вздумалось поменять — кэш улетает по кнопке и конвертация сама пройдёт заново.
Огромный минус этой фичи — зачем людям сохранять картинку с котиком на свой телефон в формате webp? А ведь получив ссылку на такую картинку выбора у человека уже нет — его браузер сказал, что он поддерживает webp.
В итоге был выбор: или искать спеца под нужный фреймворк или немного допилить уже известный движок. Второе оказалось проще.
Любой сайт нужно обслуживать, если это не визитка на чистом HTML.
Из того, что падает и невозможно использовать:
1. mSearch2 — первый камень в огород Наумкина. Но и его понять можно — предусмотреть идеальный вариант для всех сайтов задача непосильная.
2. pdoPage — катастрофа астрономических масштабов. Постраничная навигация тоже делается своими силами. Всему виной передача всех id в дочерний сниппет.
3. Стандартная постраничная навигация в товарной админке сжирает RAM. но частично работоспособна.
Из серьёзных ограничений:
1. msProducts нужно запускать аккуратно, хорошо подбирая для него параметры.
2. Максимум 1 TV, максимум 1 свойство у товаров miniShop2 (если оно есть у всех товаров). Всё из-за особенностей таблиц БД.
3. Успех запуска pdoMenu сильно зависит от дерева категорий.
Очевидно, что регулярный импорт такой кучи товаров тоже нужно продумывать своими силами, чтобы избежать дублей, особенно если поставщиков тоара много, обновляются они когда попало и как попало.
Время генерации страницы каталога в среднем около 3 секунд, что для автомобилистов вполне терпимо.
Тот самый пример.