Вчера в 15:07
Добрый день! Спасибо за описание)
Еще стоит упомянуть про вкладку Actionbuttons (в настройке MIGX-конфигурации) — тут надо отметить галочку additem —...
MigxDB - Делаем безграничное хранилище "объектов" в ресурсах. 10
Вчера в 09:13
ну как я и говорил, это наверное самый распространенный косяк)))
msOrderFields. Управление полями заказа. 48
19 сентября 2025, 18:18
Сложностей мне и так хватает. У меня gtsAPI используется в работе. А для документации и кейсов делать слишком длинные уроки разве разумно?
PVAdmin мини-админка для MODX 2.8 16
19 сентября 2025, 02:26
Какая версия MODX?
Selectel S3 + AWS S3 Media Source 3.0 как источник файлов для галереи изображений 2
19 сентября 2025, 01:47
Наталья,
так скажем шаблоны для разработки
MODX2
github.com/Boshnik/modExtra
MODX3
github.com/modx-pro/ModExtra3
Разработка нового дополнения 9
18 сентября 2025, 20:04
Есть ещё вариант дописывать vin в pagetitle плагином на сохранение ресурса
Вывод TV в дереве ресурсов 4
18 сентября 2025, 17:14
так, а в чем проблема во втором абзаце, не очень понял?
$modx->addEventListenerClosure(
'OnWebPagePrerender',
function (\MODX\Revolution...
Предложение нового механизма closure и слушателей событий в bootstrap неймспейсов MODX с приоритетам... 8
18 сентября 2025, 11:07
Ну логично. Скрипт делает выборку по таблице modResource, и там такого поля нет. Оно лежит в другой таблице msProductOption.
Попробуй писать msProdu...
Сортировка msfilter2 по msOption 1
18 сентября 2025, 01:09
Что РКН с инетом делает?? гитхаб не открывается, а впн помогло :-(
[SendIt 2.5.0] Дополнительная защита от SQL-инъекций 5
17 сентября 2025, 19:47
Делай всё, что связано с контекстами и языками и мобильной версией на событие OnHandleRequest, на OnMODXInit это просто бессмысленно. А в остальном ло...
Переход с неудачного решения по смене контекста И по определению версии (моб/десктоп.) на ModHelpers... 2
А что даст проверка на контекст и новое условие media_source?
Как я понимаю, при отправке с фронта, tickets назначает реальную папку (id ресурсу) только после отправки и сохранения ресурса, плагин срабатывает раньше, а в это время пути к картинкам ведут еще на нулевой ресурс assets/images/tickets/0/имяфайла.png
По вашей подсказке сделал срабатывание плагина только для авторизованных в mgr, что в моем случае частично решает проблему (обычные пользователи, отправляют статьи на проверку (плагин не срабатывает и не прописывает «кривые пути»), а уже менеджер заходит в админку проверяет, публикует и сохраняет (срабатывает плагин и прописывает корректный путь))
Решение получается не универсальное, куда копать дальше?
Есть ли возможность запустить плагин после срабатывания tickets ( когда пути уже ведут на реальный, а не на нулевой ресурс)
Картинкам в Tickets уже после отправки прописывается реальный id, а сначала он 0. Если знаете, подскажите пожалуйста как исправить.
Сейчас приходится заходить в админку, удалять путь к картинке и заново сохранять, чтобы опять сработал плагин и прописался нормальный путь.
В первый вызов страница не из кэша, получается что стили подключены дважды, самим сниппетом и мной, а вот после попадания в cache остаются только те, которые подключил я сам.
Само по себе это не страшно, но в первый раз некрасиво.
Изначально вызывал не кешированный pdoPage, что тоже быстро, но он же с кэшем просто сказка (почти в два раза быстрее быстрого).
Куда копать, чтобы Tickets подключил стили и скрипты в связке с кэшируемым pdoPage и они попали в итоговый cache.
У меня в форме есть доп. поля (tv, например поле model ) которые пользователь заполняет сам, я их не подцепляю.
Вот пример вызова, обратите внимание на &allowedFields=`longtitle,fullname,model,introtext,avtor`
В шаблоне формы tpl.Tickets.form.create1 участок отвечающий за model. Сделал, абсолютно также как остальные стандартные поля.
Ну и добавил подпись в словарь.
Все работает и введенные поля (tv) успешно отправляет.
И еще, если не получается решить простым способом, попробуйте сделать ваш select необязательным полем, создайте скрытый input и подставляйте выбранное значение из select яваскриптом в этот input, а его уже и отправляйте. Сам не пробовал, но должно получится. В данном случае, какая разница, заполнил поле пользователь или скрипт.
1. форму для публикации тиккета выводим так (понятно, что используемые и необходимые поля у каждого свои )
2. сниппет [!get?]]
3. часть шаблона tpl.Tickets.form.create1 отвечающая за выбор категории (рекомендую изначально сделать копию оригинального шаблона (например тот же tpl.Tickets.form.create1) и уже туда добавлять код)
Принцип работы
У сниппета TicketForm есть возможность выбора родителя откуда выводить: &parents Вот туда мы будем подставлять значение из выбранного селекта (категории). Мы выбираем селект (категории — выводимый с помощью pdoMenu), форма отправляется по выбору селекта (onchange=«if (this.selectedIndex) this.form.submit ()»). Сниппет [[!get?]] ловит отправленное значение (id) формы (id категории), по выбранному нами селекту (категории) и подставляет его в TicketForm &parents=`[[!get?]]`. Так, как после автоматической отправки формы, по выбору селекта страница перезагружается и он сбрасывается, то скриптом $("#parentcat [value='[[!get?]]']").attr(«selected», «selected»); устанавливаем выбранное значение, чтобы не путать пользователя.
Как следует, не потестил, но пока вроде работает.
К сожалению это всего лишь костыли и решение достаточно кривое, но как сделать более красиво я не знаю. Нужно просить у Василия, и если он сочтет нужным и выкроит время, то будет счастье и появится такая возможность из коробки.
Приветствуются любые правки, переделки и оптимизация.
adminvps 6$ (виртуальный — Standart)