charset

charset

С нами с 11 октября 2019; Место в рейтинге пользователей: #2904

Прерывание внутри плагина

Добрый день, подскажите. Есть плагин, который выполняется перед сохранение данных пользователя. В случае исключительной (я создают условие сам) ситуации нужно остановить и вернуть текст ошибки. Но вот незадача, почему-то после выполнения кода, дальше моего условия скрипт не идет, а вот выполнение штатного скрипта modx (сохранение пользователя) идет.

Пример кода:

<?php
if ($modx->event->name === 'OnUserFormSave') {
// Пример условия для прерывания
if ($user->get('email') === 'blocked@example.com') {
$modx->event->output('Регистрация с таким email запрещена.');
$modx->event->stopPropagation();
return;
}

// Или выбросить исключение (если обрабатывается в компоненте или сниппете)
// throw new Exception('Регистрация с таким email запрещена.');
}

Или

<?php
if ($modx->event->name === 'OnUserBeforeSave') {
// Пример: запретить создание пользователя с определённым email
$email = $user->get('email');

if ($email === 'blocked@example.com') {
$modx->event->output('Пользователь с таким email не может быть создан.');
$modx->event->_output = 'Пользователь с таким email не может быть создан.';
$modx->event->stopPropagation(); // Остановить выполнение других плагинов
return false; // Очень важно — возврат false остановит сохранение!
}

В чем может быть причина?
}
charset
13 июля 2025, 21:06
modx.pro
249
0

Ошибка обновления страницы в админке при смене цены в MiniShop 2.5.0

Добрый день, заметил такую особенность в последней версии 2,5,0 если зайти в админке в каталог, изменить цену товара (не переходя в документ товара) и нажать Enter происходит переход на следующий товар, как и раньше, после чего идет еще раз обновление всей таблицы с товарами. При этом теряется фокус на поле ввода цены и приходится заново скролить до нужной позиции. Проверил уже на 3х сайтах где стоит MiniShop 2.5.0. Там где стоит предыдущая версия 2.4.11 — проблем нет.
charset
20 октября 2020, 22:09
modx.pro
587
0