drupal_get_title() został usunięty z Drupal 8. Jak mogę uzyskać tytuł strony w Drupal 8?
drupal_get_title() został usunięty z Drupal 8. Jak mogę uzyskać tytuł strony w Drupal 8?
Odpowiedzi:
Jeśli sprawdzisz rekordy zmian, powinieneś znaleźć: drupal_set_title () i drupal_get_title () zostały usunięte .
Musisz przeczytać powiadomienie o zmianie wszystkich informacji, ale oto punkt wyjścia:
drupal_get_title ()
Ponieważ tytuły na trasach można teraz ustawiać na różne sposoby (patrz wyżej), drupal_get_title () został usunięty. Na jego miejscu powinieneś wywołać usługę 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); } ?>
Zgodnie z batch_test.module(D8.4) następujące elementy powinny działać dobrze:
$request = \Drupal::request();
$route_match = \Drupal::routeMatch();
$title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
Aby uzyskać więcej informacji, zobacz public function TitleResolver::getTitle.
Akceptowana odpowiedź na to pytanie jest nieaktualna: patrz Parametry żądania, nazwa trasy i obiekt trasy powinny być dostępne poprzez RouteMatch .
Należy użyć usługi current_route_match , aby pobrać bieżącą trasę, a następnie odczytać lub zmodyfikować jej parametry. To otacza każdą magię Symfony itp.
W kodzie proceduralnym używałbyś kodu podobnego do następującego.
$route = \Drupal::routeMatch()->getCurrentRouteMatch()->getRouteObject();
$title = $route->getDefault('_title');
W kodzie obiektowym należy użyć wstrzykiwania zależności i wstrzyknąć usługę.
$route->getDefault('_title');ale tylko $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')metoda jest niestety przestarzała i w większości usunięta z D8: drupal.org/node/2124749