22 минуты назад
Добрый день, может кто поможет на MODX 2.8.8 ставлю ExtraFields все работает все классно, но если делаю тип поля «выпадающей список мультивыбор» из ре...
ExtraFields. Дополнительные поля для ресурса (modResource) и пользователя (modUserProfile). 42
Вчера в 17:36
Заработало! да я по привычке в hook записал, а надо было так:
'filterresources' => [
'snippet' => 'filterresources',
'resul...
Как на SendIt вернуть на страницу результат из сниппета? 4
Вчера в 15:29
Логи сервера смотри. Но скорее всего путь к какому-то обработчику указан неверное в ms2_services
Ошибка 500 при открытии настроек доставки, не даёт сменить класс-обработчик 1
Вчера в 10:29
Спасибо. Вроде получилось, но не могу понять как передать дополнительные поля в CRM и почему-то время не правильное передает, +7 часов.
AmoCRM - снова в строю! 25
09 ноября 2025, 23:05
да, только для импорта данные должны быть указаны в JSON формате
msImportExport 2.0 126
07 ноября 2025, 15:22
Я слабо понял суть вопроса. Подозреваю что этот комментарий дублирует суть вопроса modx.pro/help/25398
Еще раз в этом случае — сниппет Login не раб...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 32
06 ноября 2025, 19:58
Так $this->modx->getChunk() ничего не знает про феном.
$pdoTools = $this->modx->getService('pdoTools');
$pdoTools->getChunk();Так д...
Login и fenom 1
06 ноября 2025, 19:53
Есть системные события, которые позволяют пройти аутентификацию вручную.
Стоит проверить плагины.
Любой пользователь авторизовывается в админке 4
06 ноября 2025, 15:42
Отличная новость, спасибо за ваш труд.
Очень ждём!
Есть один комментарий, смотрю я на скрин Ну и самое интересное. Вот так выглядит обновленная вкла...
MiniShop3 - новости 32
Проверьте /var/log/auth.log на предмет посторонних заходом на сервер.
А на странице, как правило, snippet miniCart расположен раньше сниппета miniShop, и при его загрузке сессия еще не очищена.
Я советую убирать миникорзину с этой страницы, она там ни к чему.
Может, директория tmp принадлежит одному юзеру, а процесс php-fpm запущен от другого? В общем, разбирайся, проблему, вроде как, обнаружили.
Правильный способ — это дать возможность юзеру поменять имя, почту и другие поля профиля, как у меня. Это умеет и Loginza и Hybrid.
Однако — у Hybrid юзер самостоятелен. То есть, к учетной записи юзера сайта привязываются записи вконтакте, фейсбука и тд. И юзер, входя через любую из привязанных учеток, попадет в учетку своего юзера, с указанным там нужным именем и email. Можно даже сделать обычную авторизацию, а потом к ней добавить Hybrid, для ускорения входа.
А у Loginza связей нет. Там один удалённый сервис — одна учетка на сайте. Она быстрее устанавливается на сайт, но в итоге я не советую ей пользоваться — обнойлвений сниппета точно не будет.
Поэтому, со всех сторон Гибридом пользоваться лучше, и от loginza.ru не будешь зависеть.
P.S. При ответе на комментарий нужно нажимать под ним на ссылку «Ответить».
А у меня, почему то, MarkItUp вызывается в шапке. В следующей версии исправлю, а пока можешь сам изменить в tickets.class.php на строке 139
на
Для комментариев — аналогично, на строке 200. Ну или просто подключи jQuery в шапке сайта.
Алгоритм починки:
1. Смотрим ошибки загрузки в /var/log/nginx/имясайта-error.log
2. Проверяем наличие директорий /var/www/имясайта/tmp/ — именно туда грузятся файлы, сначала.
3. Проверяем конфиги сайтов в /etc/nginx/sites-enabled/имясайта.pool, особенно смотрим на строчки про upload и tmp.
Не помешает также запустить скрипт, восстанавливающий верные права на файлы и директории сайта, 0777 — это не хорошо.
Если всё сделано по моей инструкции, то имя юзера и группы совпадают друг с другом, а также, с именем директории сайта.
При двойном вызове скрипта с редактором будет две панели с кнопочками. А у тебя его вообще нет — так что проблема была не там.
Компонент в разработке, а чанки при обновлении не перезаписываются. Сверять можно с чанками в репозитории.
2. Смотри ошибки javascript в браузере.
Комментарий мне пришлось изменить, так как нужно использовать тег code для оформления частей скриптов или запросов. Удобнее читать.
Теперь можно так:
Ветка создаётся при первом вызове TicketComments на странице и пишет себе в поле resource, где её вызвали. Так же там есть поля comment_last и comment_time — это id и время последнего комментария ветки (т.е. на странице).
Проверь еще разок код отсюда.
Раздел тикетов — это контейнер для тикетов, класс TicketsSection.
Тикет — это дочерний ресурс контейнер, класс Ticket. Его можно создать только из страницы с типом TicketsSection в админке или сниппетом TicketForm на сайте.
Эти оба типа — расширенные классы, которые обладают особыми возможностями. Обычный ресурс так не умеет. В числе прочего — вывод кол-ва комментов. Причем, TicketsSection выведет сумму комментов для всех дочерних тикетов, а Ticket — только своих.
Если не хочешь создавать тикеты — то доставай кол-во комментов своим сниппетом, код запроса я тебе дал.
Как документ создавал, в смысле, ресурс? Если через Api — то нужно было указать верный class_key. При создании из админки или при помощи TicketForm — всё автоматом указывается.
Или ты просто вызываешь TicketComments на обычном ресурсе? Тогда конечно, таких полей не будет — ибо это фишка именно класса Ticket.
В этом случае можно получить кол-во комментов запросом в БД.
$id — идентификатор ресурса, на котором вызывался TicketComments.
1. Создаю новую страницу, тип «Документ», шаблон — 0.
2. Вызываю там сниппет Test,
3. В сниппет пишу
4. Выводятся все поля ресурса, в конце
[hide_children_in_tree] => 0 [show_in_tree] => 0 [properties] => [comments] => 0 [views] => 2 [votes] => 0Должно работать именно так, везде.updated
После написания первого коммента проверил и $res->get('comments'); — всё окей, вывел уже единицу.
Если всё равно не работает — значит на твоём сайте уже чтото накручено, удаляй Tickets все версии и ставь последнюю, потом чисти кэш.