Финансовая поддержка
VPS, бесплатные дополнения и docs
Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию.
Поддержать
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE)
UiCMPGenerator дополнение для создания пакетов
Личный кабинет на Sendit - не удается сбросить пароль
[mSync] Новая версия синхронизации с 1С
Checkbox для модального окна
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)...
Minishop + честный знак (продажа маркированной продукции)
Sendex 2.0 не встает на Modx 2.8.8
MiniShop3 - Не выводятся товары дополнительных категорий
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает"
Всего 126 147 комментариев
А в OnDocFormSave известен id, но не обновляется карта алиасов. Как ж мне быть?
save — Возможность «сохранять» объекты.
Притом что используется не лексикон, а плейсхолдеры
В редактировании профиля и врегистрации ошибки выдаются на русском а присмене пароля на английцском
Вот этот момент в процессоре.
В форме добавления нового тикета, кроме, собственно, полей тикета, так же есть поля для редактирования данных пользователя. И если пользователь залогинен, то данные автоматом подставляются в эти поля. Если не залогинен, то их надо вписать и юзер автоматом создастся и залогинится. Так вот при добавлении тикета поля пользователя обрабатываются отдельно — если надо — юзер создаётся, если что-то изменилось — юзер обновляется.
Так вот обновление юзера происходило вот так:
И фишка вышла такая — благодаря $user->toArray() в процессор передаётся так же поле текущего пароля. А точнее не сам пароль, а его хэш (в базе же пароли хешированные лежат). А процессор, получив заполненное поле пароля, делал из него новый хэш и его записывал. Соответственно, пароль-то фактически каждый раз менялся. Вот такой вот я балда :-)
Изначально я считал, что в процессор достаточно передать id-шник юзера и поля, которые надо изменить. А оказалось, что нифига — этому процессору обязательно нужны ещё логин и мыло (которое надо тянуть из профайла). Поэтому решил перебдеть, собрав все данные в кучу. И зря, как выяснилось)
Переделал на это и всё заработало:
Василий, я не зря отвечаю в этой ветке именно тебе, потому что в процессе копания выяснилась интересная особенность тикетов, возможно даже баг.
Помнишь, ты мне как-то помогал разобраться с изменением алиасов при создании тикетов? К алиасу добаляется id тикета в плагине на «OnDocFormSave» вот так:
У меня в сниппете myTicketForm в самом конце, после всех шаманств и отработки всех процессоров, идёт редирект на этот тикет:
И вот в чём дело — редирект происходит на uri со старым алиасом, т.е. на тот, который был до моих изменений! Хотя все плагины отработали и всё должно было измениться. Но и это не самое интересное — у самого тикета алиас сохранился таким, каким я его и сделал, с id-шником! Т.е. makeUrl берёт uri документа из какого-нибудь alias_map, а там данные ещё старые. В итоге редирект происходит на не существующий адрес. Но и это ещё не всё — страница открывается! xD
Т.е., положим у тикета сформировался такой алиас — 'this-is-ticket-alias'. В плагине к нему подставляется id тикета: '123-this-is-ticket-alias'. И этот алиас фактически у ресурса и записан, но в кэше лежит 'this-is-ticket-alias', и при редиректе на этот адрес открывается только что созданный тикет (хотя адрес-то фактически не существующий)!
И вот только после того, как в админке что-нибудь изменю/сохраню или просто тыкну «обновить сайт» — кэш очищается и по адресу 'this-is-ticket-alias' как и положено вылезает 404, а сам документ становится доступен по '123-this-is-ticket-alias'.
Такие дела.
В процессе копания пришёл к вот этому.
Заменил код метода на:
Не помогло.
Потом заменил на одну строчку:
И всё встало на свои места, всё заработало как надо. Только вот теперь чистится весь кэш сайта, а собственная система кэширования тикетов получается не при делах :-(
Выходит проблема именно в кэшировании тикетов. Точнее в очистке кэша.
Как-то так.
Параметр &parents=`` укажи.
Толково придумал. Давай как сам, просвещайся rtfm.modx.com/display/ADDON/Login
Если будешь и дальше задавать вопросы в подобном стиле — отключу.
Вопрос: есть ли возможность выставлять в чанке размеры flash-баннеров?
Без правильных размеров ролики искажаются
Tickets — бесплатный, поэтому работа с ним ведется по остаточному принципу.