19 февраля 2015, 06:58 location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ { //выбирать желаемые форматы try_files $uri $uri/ @rewrite; access_log off; expires 10d; // время хранения break; } Вопросы / Nginx + rewrite + Expires headers 1 0
19 февраля 2015, 06:54 Это не нормально. max_user_connections = лимит одновременного подключения к бд. Вылечить — для начала оптимизировать сниппеты и минимизировать (сгруппировать) запросы к бд. Вопросы / max_user_connections превысил лимиты ( 1 0
19 февраля 2015, 06:52 Добрый. Вы имеете ввиду с фронтэнда (в админке есть соответствующие переключатели)? Тогда можно реализовать так (привожу простой пример-портянку, по-чистому выйдет довольно много изменений): а) создаем 2 tv и присваиваем нужным шаблонам (их можно скрыть в админке) — ticket_pub_date и ticket_unpub_date б) подключаем тв в вызов TicketForm и создаем необходимые формы в шаблоне (инпуты для даты, можно навесить маски с jquery, например datetimepicker) в) создаете плагин на событие OnDocFormSave, перехватывающий значение полей и вставляющих их в pub_date и unpub_date: <?php if ($modx->event->name == 'OnDocFormSave') { $pub_value = $resource->getTVValue('ticket_pub_date'); $unpub_value = $resource->getTVValue('ticket_unpub_date'); if (strlen($pub_value) > 0) { $resource->set('pub_date',$pub_value); } if (strlen($unpub_value) > 0) { $resource->set('unpub_date',$unpub_value); } $resource->save(); } Вопросы / Управление публикацией в Tickets 2 +1 2
19 февраля 2015, 06:37 Шаблон для вывода — в настройках сниппета: &tplFilter.row.tv|твое_тв=`шаблон` Если же логика сортировки своя, то менять и методы фильтрации (http://docs.modx.pro/components/msearch2/extension/filtering-methods) Вопросы / mFilter2 вывод множественного списка 3 0
19 февраля 2015, 06:34 Плагином, скорее всего, на событие OnDocFormSave перехватывать значение, видоизменять и сохранять. Примерно вот так: <?php if ($modx->event->name == 'OnDocFormSave') { $metro = $resource->getTVValue('metro'); if (strlen($metro) > 0) { $newMetroValue = ... //видоизменяешь как тебе необходимо (разбиваешь массив и тд) $resource->setTVValue('metro', $newMetroValue); } $resource->save(); } Вопросы / Tickets - ТВ на основе селекта с мультивыборо 1 0
18 февраля 2015, 20:45 Без конкретного примера — можно только сказать в общих чертах — кэшировать все, что можно +оптимизировать свои пхп-скрипты, чтобы было минимум запросов к бд. Как правило, еще из основных «ошибкок» при написании сайта на модксе — вызов сниппетов в сниппете, излишние вложенности чанков и тд. Т.е. в таких вызовах — писать свои запросы заместо «готовых» решений — и сайт будет летать.) Вопросы / Подходит ли MODx для высоких нагрузок ? 8 0
14 февраля 2015, 17:12 Смотреть при помощи pdoField родительский контейнер определенного уровня от корня и исходя из него плагином прятать поля как вариант? (если у вас 2 категории товаров — гладильная техника и швейная) Вопросы / Разделение полей 6 0
14 февраля 2015, 10:44 Можно реализовать заполнение для товаров со стороны админки при помощи tv, а плагином при сохранении дублировать их в свойства товаров и выводить во фронте уже эти свойства. Вопросы / Разделение полей 6 0
13 февраля 2015, 03:44 Еще можно повесить плагин на событие OnUserFormSave или подобное, чтобы полностью исключить возможность изменения полей до не желаемого уровня (к примеру, допустимые поля в профиле меняются селектами в пределах определенных значений). Вопросы / Запретить сохранение данных в Login 3 0
11 февраля 2015, 17:09 Оптимизация + хорошие характеристики сервера = справится. Вообще, «300-600 тысяч», оторванных от функционала и способах его реализации = нагрузка только на серверную часть. Лучше опишите, какой объем документов/ресурсов на сайте и основные процессы. Вопросы / Подходит ли MODx для высоких нагрузок ? 8 0
11 февраля 2015, 15:26 Попробовал изменить опции меню более «мягким» образом: 1) создаем плагин adminMenuFix и включаем его на событие OnManagerPageBeforeRender: <?php $modx->controller->addHtml('<link rel="stylesheet" type="text/css" media="screen" href="../admin.css" />');2) в корень сайта (или в любое желаемое место, но тогда в пункте 1 исправляем путь) создаем документ admin.css со стилем #modx-navbar li:hover ul.modx-subnav { -webkit-transition-delay: 5s !important; transition-delay: 5s !important; } — меню появляется с указанной задержкой. P.s. данный способ изменяет скорость появления ВСЕХ вертикальных выпадающих табов. Если необходимо изменить скорость у чего-то конкретного — завязывайте стили ксс на уникальных классах/id. Вопросы / Скорость раскрытия верхнего меню в админке. 12 +1
10 февраля 2015, 18:22 Так, эм… вон вверху навигации этого сайта кнопка «хостинг»..) Вопросы / AjaxManager в Modx 2.3.3 10 +2
10 февраля 2015, 17:47 Возникла та же проблема — но только при переходе на версию 2.3.3. Решил заменой хостинга (не реклама, но скорость вышла почти сопоставимая). Ну или как альтернатива — ждать патч на ajaxmanager. Вопросы / AjaxManager в Modx 2.3.3 10 0
10 февраля 2015, 17:35 1. Можно сделать табы сделать на ajax-е (https://modx.pro/development/3139-foundations-of-ajax/) — проблема будет решена де-факто. 2. Глубоко не смотрел, но подозреваю, что дело в якоре Id=«mapexMap». Не знаю точной работы вашего сниппета карт, но, судя по куску: <script type="text/javascript"> ymaps.ready(function(){ mapexMap = new ymaps.Map("mapexMap", { center: [57.886209618522,59.999624185547], zoom: 11 }); mapexMap.setType("yandex#map"); var mapexMapControls = "mapTools".split(','); for(var i = 0; i < mapexMapControls.length; i++){ mapexMap.controls.add(mapexMapControls[i]); } mapexMap.geoObjects.add(new ymaps.Placemark([57.920845758766,60.103013093254], {"iconContent":"\u0412\u0430\u0433\u043e\u043d\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0435\u0439 12","balloonContentBody":"","balloonContentHeader":"\u0412\u0430\u0433\u043e\u043d\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0435\u0439 12"}, {"preset":"twirl#blueStretchyIcon"})); mapexMap.geoObjects.add(new ymaps.Placemark([57.872675912701,59.95150535582], {"iconContent":"\u041e\u043a\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u0439 \u043f\u0440. 22","balloonContentBody":"","balloonContentHeader":"\u041e\u043a\u0442\u044f\u0431\u0440\u044c\u0441\u043a\u0438\u0439 \u043f\u0440. 22"}, {"preset":"twirl#blueStretchyIcon"})); }); </script> — который вызывается у вас 26 раз, то сниппет при помощи скрипта вставляет в контейнер с айди mapexMap модуль карты, но т.к. в html параметр id должен быть уникальным, то из-за специфики javascript'a он находит первое совпадение Id (первый контейнер) и вставляет туда результат. И так 26 раз. Вопросы / mapx2 4 0
07 февраля 2015, 15:25 Не знаю почему, но if($class_key == 'msProduct'){ — значение не цепляет. Помогло только при: if($resource->get('class_key') == 'msProduct'){ Вопросы / Свойства товара miniShop2 для шаблона 12 0
07 февраля 2015, 13:59 Попробовал запустить этот сниппет на modx 2.3.2, вот как вызвалось: (в шаблоне, обязательно ДО вызова pdoResources/getResources или ДО вызова самой переменной в шаблоне): [[!HPCount]](в месте вызова): {%hp-[[+id]]%} — если в шаблоне самого документа, то + меняем на * соответственно. Единственный нюанс — как-то странно кэшировались данные, в результате число просмотров, отличное от 0 появилось не сразу. Вопросы / Не могу настроить работу Hitspage 27 0
06 февраля 2015, 10:04 При экспорте можно выбирать загружаемые таблицы. Хостинг / Правильный хостинг для MODX Revolution 2 488 0
06 февраля 2015, 09:14 Выгружать таблицы частями — не вариант? Хостинг / Правильный хостинг для MODX Revolution 2 488 0
05 февраля 2015, 21:29 А что если пересохранять товар с одним и тем же артикулом — разве не вылезет алерт? Вопросы / РЕШЕНО! Уникальность поля артикул 10 +1
04 февраля 2015, 10:31 Я и не предлагал поменять магазин — этот модуль импорта из CSV, XML, XLS, XLSX универсален для всех ресурсов modx'a. Просто необходимо отредактировать код так, чтобы при импорте создавался/обновлялся товар, а не документ (параметр class_key и, возможно, что-то еще по мелочам — можно сравнить с импортом в minishop из того же csv). Не за что.) Вопросы / SOS! Реализация огромного магазина 13 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? У меня Робокасса, у них вроде есть docs.robokassa.ru/ru/iframe
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем 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`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
max_user_connections = лимит одновременного подключения к бд.
Вылечить — для начала оптимизировать сниппеты и минимизировать (сгруппировать) запросы к бд.
Тогда можно реализовать так (привожу простой пример-портянку, по-чистому выйдет довольно много изменений):
а) создаем 2 tv и присваиваем нужным шаблонам (их можно скрыть в админке) — ticket_pub_date и ticket_unpub_date
б) подключаем тв в вызов TicketForm и создаем необходимые формы в шаблоне (инпуты для даты, можно навесить маски с jquery, например datetimepicker)
в) создаете плагин на событие OnDocFormSave, перехватывающий значение полей и вставляющих их в pub_date и unpub_date:
Если же логика сортировки своя, то менять и методы фильтрации (http://docs.modx.pro/components/msearch2/extension/filtering-methods)
Как правило, еще из основных «ошибкок» при написании сайта на модксе — вызов сниппетов в сниппете, излишние вложенности чанков и тд. Т.е. в таких вызовах — писать свои запросы заместо «готовых» решений — и сайт будет летать.)
Вообще, «300-600 тысяч», оторванных от функционала и способах его реализации = нагрузка только на серверную часть.
Лучше опишите, какой объем документов/ресурсов на сайте и основные процессы.
1) создаем плагин adminMenuFix и включаем его на событие OnManagerPageBeforeRender:
2) в корень сайта (или в любое желаемое место, но тогда в пункте 1 исправляем путь) создаем документ admin.css со стилем
— меню появляется с указанной задержкой.
P.s. данный способ изменяет скорость появления ВСЕХ вертикальных выпадающих табов. Если необходимо изменить скорость у чего-то конкретного — завязывайте стили ксс на уникальных классах/id.
Ну или как альтернатива — ждать патч на ajaxmanager.
2. Глубоко не смотрел, но подозреваю, что дело в якоре Id=«mapexMap». Не знаю точной работы вашего сниппета карт, но, судя по куску:
— который вызывается у вас 26 раз, то сниппет при помощи скрипта вставляет в контейнер с айди mapexMap модуль карты, но т.к. в html параметр id должен быть уникальным, то из-за специфики javascript'a он находит первое совпадение Id (первый контейнер) и вставляет туда результат. И так 26 раз.
— значение не цепляет.
Помогло только при:
(в шаблоне, обязательно ДО вызова pdoResources/getResources или ДО вызова самой переменной в шаблоне):
(в месте вызова):
— если в шаблоне самого документа, то + меняем на * соответственно.
Единственный нюанс — как-то странно кэшировались данные, в результате число просмотров, отличное от 0 появилось не сразу.
Просто необходимо отредактировать код так, чтобы при импорте создавался/обновлялся товар, а не документ (параметр class_key и, возможно, что-то еще по мелочам — можно сравнить с импортом в minishop из того же csv).
Не за что.)