4 часа назад
да так и есть, упустили этот момент в туториале. впервые работаем с модх)) кстати у вас ошибка в тексте про order total в описание кода пропущена [...
MiniShop3 1.2.0 - 1.3.0 Самое интересное 5
8 часов назад
И мой метод скорее всего на шаред-хостинге работать не будет, на шареде порты закрыты и не дают законектитьсяИменно не будет работать. Тестил пока на ...
Инструкция: Настройка SOCKS5 прокси в MODX3 для работы с репозиторием 24
Вчера в 16:43
Попробуйте параметр &scrollTop=`0`
Нигде в документации он не описан (есть лишь в javascript pdopage), но мне помог в такой ситуации.
Скроллит страницу вверх при ajax пагинации pdoPage 12
Вчера в 16:16
Я к чему спросил, сейчас активно ведется разработка ключевых компонентов под MODX3. Соответственно все больше разработчиков будут выбирать 3-ку
На ...
FileMan - прикрепление файлов к ресурсам для MODX 3 70
Вчера в 09:29
Конечно пора, для работы все готово. Через неделю ждем отчет (минимум два сайта)
CustomExtra 3.0.0-beta для MODX3 3
01 февраля 2026, 17:45
UPD: Предложенный вариант с формированием ссылок рабочий, конечно, но он вызывает перезагрузку страницы.
Как бы решить эту задачу красиво, с Ajax как...
Кнопки как в ModStore 12
01 февраля 2026, 15:20
Спасибо за помощь! Попробовала рекомендации, пока не помогло. Но, думаю, действительно какой-то конфликт. Буду ещё разбираться.
Не работает пагинация pdoPage 6
30 января 2026, 17:55
Уже практически готов, допиливаю детали. В течение недели думаю релиз будет
MiniShop3 - 1.1.0 - Уже в Modstore.pro 38
30 января 2026, 14:56
Это для фронтендеров которым fenom привычен я так полагаю
Fenom.js: шаблонизатор в стиле Fenom.php для JavaScript и Vite 5
29 января 2026, 12:28
Хотя не зря, все равно мой велосипед более гибкий, в будущем может еще что то к нему прикручу.
Сниппет getPageBlockContent для вывода блоков PageBlocks (Free версия) с других страниц в MODX 6
Проверьте /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 все версии и ставь последнюю, потом чисти кэш.