Решение проблемы "User Group not found with key:" в MiniShop2
Добрый день! Столкнулся на днях с проблемой регистрации пользователя в группу, которая указывается в настройках minishop2 в параметре ms2_order_user_groups. При заказе пользователь создавался, но не добавлялся в нужную группу, а в логи сыпалась ошибка "/core/model/modx/moduser.class.php: 675) User Group not found with key: 4", хотя группа с таким id была создана.
Мне помогло следующее решение:
В файле /core/components/minishop2/model/minishop2/minishop2.class.php в строчке 604 добавил приведение типа к integer.
Мне помогло следующее решение:
В файле /core/components/minishop2/model/minishop2/minishop2.class.php в строчке 604 добавил приведение типа к integer.
if ($groups = $this->modx->getOption('ms2_order_user_groups', null, false)) {
$groups = array_map('trim', explode(',', $groups));
foreach ($groups as $group) {
$user->joinGroup((integer) $group);
}
}
Комментарии: 2
Аналогичная история — заметил это после обновления minishop до 2.4.14 — пользователь в группу не назначается, писем не приходит о заказе(все работало до обновления).
[2018-08-12 12:45:05] (ERROR @ /path/to/core/model/modx/moduser.class.php : 675) User Group not found with key: 3
Исправляется явным приведением типа вот здесь(в вашем решении это есть, в оригинальном коде нет):foreach ($groups as $group) {
$user->joinGroup((integer) $group);
}
Занятно, но работает. В группу добавляет, правда, писем все еще не вернулись, разбираюсь дальше.
Нужно не id группы, а её название.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.