drupal_get_title()
был удален из Drupal 8. Как я могу получить заголовок страницы в Drupal 8?
drupal_get_title()
был удален из Drupal 8. Как я могу получить заголовок страницы в Drupal 8?
Ответы:
Если вы проверите записи изменений, вы должны найти следующее: drupal_set_title () и drupal_get_title () были удалены .
Вам придется прочитать уведомление об изменении всей информации, но вот отправная точка:
drupal_get_title ()
Поскольку заголовки на маршрутах теперь могут быть установлены различными способами (см. Выше), drupal_get_title () был удален. На его месте стоит вызвать сервис title_resolver.
Drupal 7
<?php $title = drupal_get_title(); ?>
Drupal 8
<?php $request = \Drupal::request(); if ($route = $request->attributes->get(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_OBJECT)) { $title = \Drupal::service('title_resolver')->getTitle($request, $route); } ?>
Согласно batch_test.module
(D8.4) следующее должно работать нормально:
$request = \Drupal::request();
$route_match = \Drupal::routeMatch();
$title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
Для получения дополнительной информации см public function TitleResolver::getTitle
.
Принятый ответ на этот вопрос устарел: см. Параметры запроса, имя маршрута и объект маршрута должны быть доступны через RouteMatch .
Вы должны использовать службу current_route_match, чтобы получить текущий маршрут, а затем прочитать или изменить его параметры. Это оборачивает любую магию Symfony и т. Д.
В процедурном коде вы должны использовать код, подобный следующему.
$route = \Drupal::routeMatch()->getCurrentRouteMatch()->getRouteObject();
$title = $route->getDefault('_title');
В объектно-ориентированном коде вы должны использовать внедрение зависимостей и внедрять сервис.
$route->getDefault('_title');
а есть только $route->getDefault('_title_callback');
?
Drupal 8
$request = \Drupal::request();
// Assuming the Request is $request.
if ($request->attributes->has('_title')) {
return $request->attributes->get('_title');
}
->get('_MAGIC')
метод, к сожалению, устарел и в основном удален из D8: drupal.org/node/2124749