drupal_get_title()
foi removido do Drupal 8. Como posso obter o título da página no Drupal 8?
drupal_get_title()
foi removido do Drupal 8. Como posso obter o título da página no Drupal 8?
Respostas:
Se você verificar os registros de alterações, deverá encontrar o seguinte: drupal_set_title () e drupal_get_title () foram removidos .
Você precisará ler o aviso de alteração para obter todas as informações, mas aqui está um ponto de partida:
drupal_get_title ()
Como os títulos nas rotas agora podem ser definidos de várias maneiras (veja acima), drupal_get_title () foi removido. Em seu lugar, você deve chamar o serviço 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); } ?>
Conforme batch_test.module
(D8.4), o seguinte deve funcionar perfeitamente:
$request = \Drupal::request();
$route_match = \Drupal::routeMatch();
$title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
Para mais informações, consulte public function TitleResolver::getTitle
.
A resposta aceita para esta pergunta está desatualizada: Consulte Parâmetros de solicitação, nome da rota e objeto da rota devem ser acessados via RouteMatch .
Você deve usar o serviço current_route_match para recuperar a rota atual e, em seguida, ler ou modificar seus parâmetros. Isso envolve qualquer mágica do Symfony etc.
No código processual, você usaria código semelhante ao seguinte.
$route = \Drupal::routeMatch()->getCurrentRouteMatch()->getRouteObject();
$title = $route->getDefault('_title');
No código orientado a objetos, você deve usar injeção de dependência e injetar o serviço.
$route->getDefault('_title');
mas apenas um $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')
método infelizmente foi preterido e foi removido principalmente do D8: drupal.org/node/2124749