Рейтинг:0

Как передать групповой контекст на страницу пользовательской формы с помощью группового модуля

флаг in

У меня есть пользовательский блок, который отображается в каждой группе на каждой странице. Видимость блока установлена ​​на /лига/*

Пользовательский блок отлично отображается для /лига/{гид}, /лига/{гид}/члены, /лига/{гид}/редактировать, /лига/{gid}/приглашения и т.д.

Я создал пользовательскую форму с маршрутом /лига/{gid}/сегменты, но мой блок не отображается правильно на этой странице из-за этой строки в моем блоке:

если (($group = $this->getContextValue('group')) && $group->id()) {

Я получил эту строку из группового модуля /src/Plugin/Block/GroupOperationsBlock.php

$this->getContextValue('группа')) не определен.

Как я могу передать контекст группы на эту страницу формы? Я попытался добавить параметры группы к маршруту, как это, но не повезло:

мой модуль.сегменты:
  путь: '/league/{gid}/segments'
  значения по умолчанию:
    _title: 'Сегменты'
    _form: 'Drupal\mymodule\Form\SegmentsForm'
  требования:
    _permission: "аутентифицировано"
  параметры:
    параметры:
      группа:
        тип: 'сущность: группа'

Любые идеи?

Jaypan avatar
флаг de
Я подозреваю, что это потому, что вы используете `{gid}`, а не `{group}`.
флаг in
@Jaypan, это действительно была проблема. Я приму ваш ответ, если вы опубликуете один
Jaypan avatar
флаг de
Готово, спасибо. И рад, что получилось.
Рейтинг:1
флаг de

Для того, чтобы группа была частью контекста страницы, она должна быть названа {группа} на вашем пути. Итак, вам нужно будет изменить это:

путь: '/league/{gid}/segments'

К этому:

путь: '/league/{group}/segments'

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.