Так, ну в принципе, со своей задачкой я разобрался )
Но пока что это хак ядра, что не гуд, конечно.
Может, кто предложит что поинтересней.
Тем не менее, уже и это решение, открывает совершенно другие возможности Joomla, прямо новые горизонты!
Например?..
У меня есть идеи, а у вас?
На уровне плагина, похоже, не получится это сделать, т.к. права посетителю в ходе генерации страницы задаются раньше, чем подгружаются плагины, по крайней мере я сравнивал с системным плагином на событие onAfterInitialise.
Группы задаются значительно раньше - в методе getGroupsByUser класса Access из
/libraries/src/Access/Access.php(Joomla 3.9)
Вот тут можно вставить посетителю (и гостю, и юзеру - как и хотел) дополнительные группы в зависимости от нужного условия.
Поделюсь, я, например, сделал так:
В указанном php файле перед закрытием метода вместо
return self::$groupsByUser[$storeId];
вставил что-то типо:
$arr = self::$groupsByUser[$storeId];
if (условие) {
$arr[] = 10; // добавляем к массиву нужную группу
}
return $arr;