Ilya
Всем спасибо за помощь, сорян за тупость, куча просто там функционала, сразу быстро не найти
Ilya
Теперь надо разобраться с событиями на отправку ... =) Но постараюсь не писать сюда, а то заспамил вам тут все
Andrey
Ilya
Да блин, как раз в доках и был пример с фильтрацией, в примере не было указано, что name.value с фильтром, а просто name - без. Уже подключил к форме пост обработчик, работает, но в доках не совсем понятно написано "... prepareAfterProcess - после успешного выполнения обработки" Я так понимаю это не после успешной отправки формы?
Ilya
хотя слово процесс намекает на завершение процесса, мб отправки =)
Ilya
господа, как в evo через апи 404 ошибку отдать ?
Ilya
$modx->sendErrorPage();
Andrey
$modx->config['error_page'] в редирект
Aliaksandr
хотя слово процесс намекает на завершение процесса, мб отправки =)
у разных контроллеров разные процессы, у каких-то отправка формы (Form), у других - сохранение ресурса в базу (Content) и т.п.
Ilya
Если так то норм, значит все получилось как надо
Aliaksandr
ну если отправляет - значит да, дефолтный Form )
Ilya
Ну сорян за тупые мб вопросы, у меня тут ускоренный режим решения проблем =) Есть комплекс обработчиков, важно просто чтобы отрабатывали именно после успешной отправки формы и не дай бог не ранее, например после успешной валидации данных, по этому был очень важный момент \=)
Ilya
Спасибо большое выручили. Но доки бы поподробнее, а то я уже полез в ядро смотреть что функции делают =)
Andrey
На гит и править.
Aliaksandr
у контрлллеров меню какие процессы? 😄
Ой не начинай ты уже хоть по выходным:)
Alexander
😂😂ок
Ilya
На гит и править.
да яб с удавольствием для себя же напоминалку... но как править то в чем не разбираешься пока =)
Владимир
Ребят не грешно сейчас использовать WebLogin для авторизации вебюзеров? Может есть решение новее или лучше?
Владимир
FormLister
спасибо
Владимир
А Personalize ? чтобы для гостей одна инфа была а для авторизованных другая? Или же это и формлистером можно?
Владимир
Ок попробую
Камиль
Ок попробую
http://docs.evo.im/03_develop/03_api/getloginuserid.html
Joni-Jo
У меня FormLister сохраняет записи в базу, хочу при определенном количестве отправлять сообщения на почту, но что-то не получаеться, создал следующий prepareProcess снипет, но письма не отправляються, подскажите пожалуйста как через prepare можно отправить письмо. в tv sendmailto - email куда хочу отправлять.
Ilya
Ну что, норм вроде, все формы с ивентами и прочей хренью переведены на form-lister пока полет нормальный =) Спасибо чатику. Не ожидал, что можно будет все сделать оперативно.
Владимир
http://docs.evo.im/03_develop/03_api/getloginuserid.html
А как авторизоваться по имени пользователя а не по email ? По email получилось, но при подставноке &loginField=`` name username не хочет
Владимир
Кто знает что писать в &loginField=`` чтобы аворизоваться в FоrmListеrе по имени пользователя а не по email ?
Joni-Jo
Кто знает что писать в &loginField=`` чтобы аворизоваться в FоrmListеrе по имени пользователя а не по email ?
[!FormLister? &formid=login &controller=Login &loginField=username &defaults={"rememberme":1} &formControls=rememberme &rules=`{ "username":{ "required":"Введіть логін", "username":"Ви повинні ввести правильний логін" }, "password":{ "required":"Введіть Ваш пароль" } }` &formTpl=`@CODE: <div class="col-md-6 col-md-offset-3"> <div class="loginform" style="max-width: 250px;"> <form class="form-horizontal" method="post" action="[(site_url)][~[*id*]~]"> [+form.messages+] <input type="hidden" name="formid" value="login"> <div class="form-group [+username.classname+] row"> <div class="col-sm-12"> <label for="username">Логін:</label><br/> <input class="form-control" name="username" value="[+username.value+]" id="username" placeholder="Введіть логін"> </div> </div> <div class="form-group [+password.classname+]"> <div class="col-sm-12"> <label for="password">Пароль:</label><br/> <input type="password" class="form-control" name="password" id="password" placeholder="Введіть пароль" value="[+password.value+]"> </div> </div> <div class="form-group"> <div class="col-sm-12"> <div class="checkbox"> <label> <input type="checkbox" name="rememberme" value="1" [+c.rememberme.1+]> Запам'ятати мене </label> </div> </div> </div> <div class="form-group"> <!--div class="col-sm-8 col-xs-8 sign-in-block"> <a href="[~8~]">Забули пароль</a> </div--> <div class="col-sm-4 col-xs-4 login-button"> <button type="submit" class="btn btn-primary">Вхід</button> </div> </div> </form> </div> </div> ` &skipTpl=`@CODE: <div class="text-center">Вітаємо!</div> <div class="text-center"> <a class="btn btn-primary" href="[~7~]"> Редагувати профіль</a> <a class="btn btn-primary" href="?logout"> Вийти</a> </div>` &errorTpl=@CODE:<p>[+message+]</p> &messagesOuterTpl=`@CODE: <div class="text-danger">[+messages+]</div>` &errorClass= has-error &requiredClass= has-warning !]
Владимир
Снова Неверное имя пользователя или пароль.
Владимир
Видимо цифрами нельзя задаваить имя пользователя, поменял на текст получилось
Владимир
<?php $proverka = $modx->getLoginUserID(); if ($proverka = 1) { echo 'ВОШЕЛ'; } else { echo 'ХУЙ'; }
Владимир
Что я делаю не так?) Хочу проверить на авторизованность вебюзера и вывести То или Иное У меня всегда "ВОШЕЛ"
Alexander
может сессию проверять?
Владимир
может сессию проверять?
Типо так $_SESSION['proverka'] = $proverka ?
Alexander
если проверку на атворизованность то так if (isset($_SESSION['webValidated'])) {
Alexander
это для вебюзера, если для админа то if (isset($_SESSION['mgrValidated'])) {
Владимир
$modx->getLoginUserID(); тогда это зачем?)
Alexander
$modx->getLoginUserID(); это id атворизованного юзера.
Владимир
Фак (
Anonymous
$modx->getLoginUserID(); тогда это зачем?)
Получить id авторизованного пользователя. Если не работает, то отправьте issue пожалуйста. Потестируем и проверим, если что пофиксим
Владимир
Спасибо
Владимир
Но в моём пример по идее если он 1 то должен выводит 1 если нет то другое, но я получал 1 всегда, даже при logout
Alexander
Но в моём пример по идее если он 1 то должен выводит 1 если нет то другое, но я получал 1 всегда, даже при logout
значит логаут не происходил, или там где вы это выводили echo $modx->getLoginUserID(); (сниппет) был закэшированный
Aliaksandr
==
Andrey
Сниппет сделать <?php include_once (MODX_BASE_PATH . 'assets/snippets/DocLister/lib/DLTemplate.class.php'); include_once (MODX_BASE_PATH . 'assets/lib/APIHelpers.class.php'); $DLTemplate = DLTemplate::getInstance($modx); $uid = $modx->getLoginUserID('web'); if (!$uid){ $out = $DLTemplate->parseChunk($notLoginTpl,$modx,true); } else { $out = $DLTemplate->parseChunk($isLoginTpl,$modx,true); } return $out; Где $notLoginTpl и $isLoginTpl два чанка для авторизованного и нет.
Am
Будни фриланса
Alexander
😂
Sazanof
при создании документ публикуется, а надо наоборот. published в 0 передаю и раньше это работало
Sazanof
Ебаться в коромысло preparePostProcess =( просто prepareProcess заработал
Aliaksandr
там не Post а After наверно ))
Sazanof
Видимо я на это повелся в контроллере Content $this->runPrepare('preparePostProcess'); $this->log('Update form data', array('data' => $this->getFormData('fields')));
Aliaksandr
ну по идее да, должно бы и там работать )
Sazanof
ну по идее да, должно бы и там работать )
Лог крутится, published не мутится да, любые поля передаваемые дополнительно не записались через этот ПрепареПостПроцесс Я уж не помню зачем я туда полез и зачем теребонькал этот препаре
Aliaksandr
Лог крутится, published не мутится да, любые поля передаваемые дополнительно не записались через этот ПрепареПостПроцесс Я уж не помню зачем я туда полез и зачем теребонькал этот препаре
так а в чем вообще задача? по идее все эти Post/After происходят уже после того, как все закончилось, т.е. никаких изменений они сами по себе уже не внесут. Между моментами "валидация прошла - форма обработана" как раз prepareProcess и существует, чтобы что-то там подменить
Sazanof
так а в чем вообще задача? по идее все эти Post/After происходят уже после того, как все закончилось, т.е. никаких изменений они сами по себе уже не внесут. Между моментами "валидация прошла - форма обработана" как раз prepareProcess и существует, чтобы что-то там подменить
Да был затык какой-то. Походу раньше все работало было как раз тогда, когда стоял prepareProcess Аааа, у меня был затык как в плейсхолдере вывести айдишник созданного ресурса, чтобы на него сформировать ссылку для редактирования в админке)))
Sazanof
так а в чем вообще задача? по идее все эти Post/After происходят уже после того, как все закончилось, т.е. никаких изменений они сами по себе уже не внесут. Между моментами "валидация прошла - форма обработана" как раз prepareProcess и существует, чтобы что-то там подменить
по докам написано она(ссылка) будет доступна через плейсхолдер [+content.url+] и Также можно использовать данные авторизованного пользователя, доступны через плейсхолдеры [+user.fullname+], [+user.email+] но одни как видно работают, другие - нет
Sazanof
Короче я хз почему такой изврат, но ввиду особенностей проекта пришлось сделать 2 прерапе (разделить существующий) Первый поля меняет, второй генерирует ссылки.😅
Sazanof
а что так можно было? 😀
Ну вот, Сань, не срослось, и пришлось наговнокодить. Забыл еще про кастомный контроллер на основе Content, шоб не перезатерся при обновлении Эво))))))
Alexander
неплохо))
Alexander
ребят, как через API проверить таблицу на существование в базе?
Dmytro
Вот тут есть пример настройки шторма: https://www.youtube.com/watch?v=xQ_aqYpS0Cc&t=10s