Воеводский Михаил

Воеводский Михаил

С нами с 07 февраля 2013; Место в рейтинге пользователей: #18
Воеводский Михаил
28 апреля 2015, 14:36
0
mail # compaero.ru
Отправьте макеты и ссылку на существующий магазин.
Воеводский Михаил
28 апреля 2015, 12:32
0
Разгадка здесь.
Когда запрашиваются группы пользователя, их список берется из сессии.

Алексей, попробуйте проверить, применяется ли изменение групп, если в сессии есть только один контекст.
Сейчас для ответа посмотрел modUser и процессор logout, обратил внимание на интересный момент — если после logout не остается контекстов, в которых пользователь залогинен, сессия должна уничтожиться. Если же есть еще контексты, то со списком групп ничего не произойдет.
Воеводский Михаил
28 апреля 2015, 09:38
0
Напишите мне на почту доступ к сайту mail # compaero.ru
Воеводский Михаил
28 апреля 2015, 09:37
0
Помимо системной настройки «admin_email» нужен чанк с именем «tpl.reg_user».
Названия настройки и чанка могут быть любыми, только не забудьте их поменять в тексте плагина.
Воеводский Михаил
27 апреля 2015, 20:56
0
Правильно, «Вопросы».

Да, &actionKey должно быть достаточно, если еще и в форме на отдельной странице «service» заменить на значение параметра.

Я не говорил, что именно тот вызов сильно замедляет. Но это пример, как делать не стоит, ибо злоупотребление может замедлить.

В приведенном шаблоне можно оптимизировать использование фильтров ввода-вывода, чтобы не выполнялись лишние сниппеты. С другой стороны, если Вас скорость работы сайта полностью устраивает, то эта оптимизация может быть не слишком оправданной.
Воеводский Михаил
27 апреля 2015, 15:27
0
1. На отдельной странице вынесите вызов Login за пределы логической конструкции. В текущем виде это характерный пример похода, после которого появляются мнения «MODX всегда дико тормозит».
2. В вызове Login на отдельной странице укажите параметр &actionKey, задайте ему значение скрытого поля в форме. Значение должно быть отличным от 'service'. После этого 2 вызова Login перестанут перехватывать формы авторизации друг друга, и у Вас появится понимание, как дальше все настроить.
3. Укажите категорию этого тикета «Вопросы».
Воеводский Михаил
27 апреля 2015, 14:52
3
+1
Код плагина:

<?php
switch ($modx->event->name) {
    case 'OnUserSave':
        $tpl = $modx->getOption('emailTpl',$scriptProperties,'tpl.reg_user');
        if ($mode == 'new') {
            $message = $modx->getChunk($tpl,array_merge($user->toArray(),$user->Profile->toArray()));
            $email = $modx->getOption('admin_email');
            
            $modx->getService('mail', 'mail.modPHPMailer');
            $modx->mail->set(modMail::MAIL_BODY,$message);
            $modx->mail->set(modMail::MAIL_FROM,'noreply@from.ru');
            $modx->mail->set(modMail::MAIL_FROM_NAME,'Сервис уведомлений');
            $modx->mail->set(modMail::MAIL_SUBJECT,'Новый пользователь');
            $modx->mail->address('to',$email);
            $modx->mail->setHTML(true);
            if (!$modx->mail->send()) {
                $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
            }
            $modx->mail->reset();
        }
        break;
}
Воеводский Михаил
22 апреля 2015, 12:01
0
Еще момент — каждая группа сотрудников, естественно, является отдельной группой пользователей.

Если чуть упростить схему, то получается:
1. Бармена могут отредактировать администраторы, старшие администраторы, директор
2. Администратора могут отредактировать старшие администраторы, директор
3. Старшего администратора может отредактировать директор

НО! Право на изменение пароля, например, одно во всех случаях и его проверки недостаточно.

Воеводский Михаил
16 апреля 2015, 13:46
0
Можешь подсказать, в какую сторону копать для создания этого PR?
Какой момент в Таггере конфликтует с Tickets?
Воеводский Михаил
16 апреля 2015, 10:08
0
На SMS.RU есть кусок необходимого php кода в качестве образца: mvoevodskiy.sms.ru/?panel=api&subpanel=method&show=sms/send
Воеводский Михаил
14 апреля 2015, 13:09
0
Точно не вспомню название события. По-моему, «OnWebPageInit».
Воеводский Михаил
14 апреля 2015, 12:21
0
Сделай отдельный шаблон для содержимого страницы товара, который будешь отдавать через AJAX,
и при получении AJAX запроса плагином подменяй товару шаблон — вместо полного подставляй подготовленный.
Воеводский Михаил
13 апреля 2015, 20:04
0
После смены контекста необходимо отправить пользователя на найденную страницу через $modx->sendForward();
Воеводский Михаил
13 апреля 2015, 18:36
0
Ты предлагаешь заниматься гаданием на кофейной гуще. Или ищешь телепатов, которых здесь нет.

Как догадаться, что поможет, если ты не выкладываешь код плагина?
Воеводский Михаил
13 апреля 2015, 17:55
0
Надо смотреть на код плагина.
Воеводский Михаил
13 апреля 2015, 16:43
0
А зря. Отдайте проверку на существование в текущем контексте MODX'у. Зачем это делать самостоятельно?

MODX проверит существование и, если не найдет, запустит плагин, где уже будет поиск во всех контекстах.
Воеводский Михаил
12 апреля 2015, 13:24
0
Не лучший метод.
Воеводский Михаил
12 апреля 2015, 13:21
0
Все extended поля представляют собой элементы массива, которые сохраняются в базе в json'е. Естественно, никакой сортировки штатными средствами по ним быть не может.
Воеводский Михаил
12 апреля 2015, 12:35
0
Возможно только с изменением модели самого MODX. Чтобы этого не делать, оптимально создать своего пользователя, унаследовав родной modUser.

Но, не изучив xPDO, лучше не торопиться с расширением стандартных объектов.