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(); ?>
Друпал 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');
а лише a $route->getDefault('_title_callback');
?
Друпал 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