Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Василий Наумкин
Василий Наумкин
Никто не откликнется на это объявление о работе, потому перенес в вопросы.

Сниппет, которым ты авторизуешься должен вызвать процессор security/login с параметрами
login_context = основной контекст
add_contexts = контекст2, контекст3, и т.д.
Это авторизует юзера сразу во все указанные контексты. В твоём случае основной контекст всегда должен быть web.

То есть, вызов Login должен выглядеть так:
[[!Login?
	&loginContext=`web`
	&contexts=`ctx2,ctx3,ctx4`
]]
Причем, это едино для всех контекстов.

Ну а дальше ты любым удобным способом переключаешь контексты, когда нужно, и больше ничего не делаешь.
Іван Клімчук
Іван Клімчук
Ok. Не знал просто про такую возможность. Столкнулся тут просто на днях. Девелоперскую версию перенес на линоду, а там новые правила именования проектов у меня на сервере (включая домены), пришлось один раз сбросить ключ, второй раз придется через саппорт
Илья
Илья
К сожалению её не пользовал еще, из описания данного мода стало понятно, что это просто напросто конструктор форм обратной связи, что в свою очередь близко, но не то.
В данном случае ближе всего подходит Tickets, но т.к. опыта пока маловато (2-3 дня) для создания своих форм в данном плагине и я не понял как добавить там «статусы» заявок (в рассмотрении, проверена, исполнена не полностью итд) и приписать виды заявок (vip, обычная, что бы различались как то в коде (css)). Да и убрать бы надпись «опубликовать», без копания в коде.
Сергей Шлоков
Сергей Шлоков
Ясно. А как правильно проверить возвращаемые данные? Такая конструкция
(data != "")
работает криво. Я проверяю форму на ошибки. Если они есть, то возвращаю ошибку и вывожу в div #Error.
$.post(document.location.href, {action: action}, function(data) {
if (data != "") {
$("#Error").html(data);
})
Если ошибки нет, то возвращаю пустую строку ($res=''). И вот тут _опа. В контейнер
<div id="Error"></div>
почему-то пишется вся страница:
<html>
<head>
...
</head>
и т.д.
Подскажи, как правильно вернуть пустое значение.
Василий Наумкин
Василий Наумкин
Потому что запрос асинхронный.
Пока он отправляется на сервер, скрипт работает дальше, и переменная переопределится уже после второго алерта, когда придёт ответ.

Нужно или засунуть весь код, работающий с переменной в каллбэк, или делать синхронный запрос (не советую).
Василий Наумкин
Василий Наумкин
Пакет платный будет работать везде.

У нас нет никаких лицензий или прочей фигни. Обновлений не будет, поддержки не будет, но купленный пакет ты можешь ручками копировать сколько угодно — никто ни проверит, ни помешает.

Усложнять нынешнюю систему смысла я не вижу.