drupal_get_title()
se ha eliminado de Drupal 8. ¿Cómo puedo obtener el título de la página en Drupal 8?
drupal_get_title()
se ha eliminado de Drupal 8. ¿Cómo puedo obtener el título de la página en Drupal 8?
Respuestas:
Si verifica los registros de cambios, debería encontrar lo siguiente: drupal_set_title () y drupal_get_title () fueron eliminados .
Tendrá que leer el aviso de cambio para toda la información, pero aquí hay un punto de partida:
drupal_get_title ()
Como los títulos en las rutas ahora se pueden configurar de varias maneras (ver arriba), se ha eliminado drupal_get_title (). En su lugar, debe llamar al servicio 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); } ?>
Según batch_test.module
(D8.4) lo siguiente debería funcionar bien:
$request = \Drupal::request();
$route_match = \Drupal::routeMatch();
$title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
Para más información ver public function TitleResolver::getTitle
.
La respuesta aceptada para esta pregunta no está actualizada: consulte Parámetros de solicitud, nombre de ruta y objeto de ruta debe accederse a través de RouteMatch .
Debe usar el servicio current_route_match para recuperar la ruta actual y luego leer o modificar sus parámetros. Esto envuelve cualquier magia de Symfony, etc.
En el código de procedimiento, usaría un código similar al siguiente.
$route = \Drupal::routeMatch()->getCurrentRouteMatch()->getRouteObject();
$title = $route->getDefault('_title');
En el código orientado a objetos, debe usar la inyección de dependencia e inyectar el servicio.
$route->getDefault('_title');
sino solo un $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')
desafortunadamente el método está en desuso y se eliminó principalmente de D8: drupal.org/node/2124749