8 часов назад
Спасибо что поделился и добро пожаловать с MODX!
Я тоже когда-то с Drupal перешел на MODX, назад ни разу желания не возникало возвращаться))
Можеш...
modx3 (modx2) + composer + ddev 2
Вчера в 21:03
А еще у меня импорт доходит до «Импорт создание продуктов (2500 / 0)» и дальше не движется…
[syncMoySklad] - синхронизация с "Мой Склад" 90
Вчера в 15:10
Это да. Ну в таблице можно вывод ограничить, например максимум 50 первых знаков, а вместо остальных полей просто из тип img, list, link и т.д. Ну это ...
PageBlocks стал ещё мощнее — теперь с пагинацией, сортировкой и фильтрацией 37
Вчера в 04:37
Спасибо, Евгений, за помощь.
Завтра попробую адаптировать ваш код под себя.
FileAttach (modx2) - возможность выбора файла из медиа-библиотеки (вкладка слева вверху Файлы) 2
09 сентября 2025, 09:52
я устанавливал через Terminal, туда поставил Composer, затем клонировал minishop3, затем выполнил эти команды из инструкции: cd MiniShop3/core/compone...
MiniShop3 - 1.0.0-alpha 21
05 сентября 2025, 21:17
самый просто вариант это хукЯ тоже так думаю
Этот хук обрабатывает форму "Купить в 1 клик", создает заказ в miniShop2 1
04 сентября 2025, 12:45
Нет, данную проблему не решил, потому как она мне и не мешала… Так как с сам minishop3 использовал на паре проектов где доставка и не требовалась. Буд...
[MiniShop3] - Новости, Планы 34
04 сентября 2025, 12:35
казалось бы чего, открой другой браузер, где не выполнен вход и заноси заказаМожно установить adminTools и запретить автоматическое залогинивание в ко...
Оформление заказа minishop2 1
04 сентября 2025, 12:27
modx.pro/help/12408#comment-81924
minishop2 отправить фотографию товара заказчику 11
А что даст проверка на контекст и новое условие 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)