Все это может быть достигнуто с помощью простого контроллера, однако возможны тонны вариаций отображения модуля / контроллера / действия, в действительности все зависит от того, что вам нужно отображать на страницах, и от того, как ваше приложение настроено для работы.
Чтобы получить все это в одном простом контроллере, вы можете сделать следующее:
/ groups / {id_group} /
Группы контроллеров, действие по умолчанию
/ groups / {id_group} / news
Контроллер групп, новостная акция
...
/ groups / {id_group} / events
Группы контроллеров, события action
/ groups / {id_group} / events / {id_event}
Группы контроллеров, конкретные события. Здесь, в зависимости от вашей среды, вы можете либо направить его к определенному действию, либо протестировать в действии событий, если идентификатор отправлен, и переслать требуемое конкретное действие события
...
Редактировать
если бы у событий / новостей / чего бы то ни было, были ли у них какие-либо действия, у меня был бы конкретный контроллер событий, конкретный новостной контроллер и так далее, вы можете пойти дальше и разделить их все на разные модули (например, это будет позволяют вам иметь adminNewsController, frontendNewsController с newsModel в одном месте для модуля новостей).