Рейтинг:4

Включить построитель компоновки на пользовательской странице контроллера

флаг al

Я создал простую страницу в классе контроллера:

  общедоступная функция taxonomyPage($term) {
    возвращаться [
      '#type' => 'разметка',
      '#markup' => $this->t('<p>Здесь нужно отображать компоновщик макетов.</p>'),
    ];
  }

Маршрутизация:

knmt_taxonomy.detail:
  путь: '/tags/{термин}'
  значения по умолчанию:
    _controller: '\Drupal\knmt_taxonomy\Controller\TaxonomyController::taxonomyPage'
  требования:
    _permission: «редактировать собственный контент»

Для узловых страниц я уже использую компоновщик макетов для рендеринга блоков, это работает нормально.

Я также хочу использовать компоновщик макетов на этой странице. На данный момент у меня нет параметров отображения, есть ли способ включить построитель макетов для этой страницы, чтобы я мог отображать блоки таким образом?

Рейтинг:2
флаг cn

Невозможно включить построитель компоновки без объекта, поддерживающего режимы просмотра.

Однако похоже, что у вас уже есть такая сущность. Таким образом, вы можете добавить режим просмотра в admin/structure/display-modes/view/add/taxonomy_term. Тогда посетите админ/структура/таксономия, Выбрать Управление дисплеем словаря и включить режим просмотра в Пользовательские настройки отображения внизу страницы. Сохраните и выберите вкладку нового режима просмотра вверху. Проверять Используйте конструктор макетов в Варианты макета, сохраните еще раз и нажмите кнопку «Управление макетом».

В контроллере рендерим терм с новым режимом просмотра:

  общедоступная функция taxonomyPage($term) {
    // загрузить термин или улучшить маршрут для автоматической загрузки термина
    // См. www.drupal.org/docs/8/api/routing-system/parameters-in-routes/using-parameters-in-routes
    вернуть $this->entityTypeManager()
      ->getViewBuilder('taxonomy_term')
      -> представление ($ термин, 'my_view_mode');
  }

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

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