drupal_get_title()
è stato rimosso da Drupal 8. Come posso ottenere il titolo della pagina in Drupal 8?
drupal_get_title()
è stato rimosso da Drupal 8. Come posso ottenere il titolo della pagina in Drupal 8?
Risposte:
Se controlli i record delle modifiche dovresti trovare quanto segue: drupal_set_title () e drupal_get_title () sono stati rimossi .
Dovrai leggere l'avviso di modifica per tutte le informazioni, ma ecco un punto di partenza:
drupal_get_title ()
Poiché i titoli sui percorsi ora possono essere impostati in vari modi (vedi sopra), drupal_get_title () è stato rimosso. Al suo posto dovresti chiamare il servizio 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); } ?>
Secondo batch_test.module
(D8.4) il seguente dovrebbe funzionare bene:
$request = \Drupal::request();
$route_match = \Drupal::routeMatch();
$title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
Per maggiori informazioni vedi public function TitleResolver::getTitle
.
La risposta accettata per questa domanda non è aggiornata: vedi Parametri richiesta, nome percorso e oggetto route devono essere accessibili tramite RouteMatch .
È necessario utilizzare il servizio current_route_match per recuperare il percorso corrente, quindi leggere o modificarne i parametri. Questo avvolge qualsiasi magia di Symfony ecc.
Nel codice procedurale, useresti un codice simile al seguente.
$route = \Drupal::routeMatch()->getCurrentRouteMatch()->getRouteObject();
$title = $route->getDefault('_title');
Nel codice orientato agli oggetti, è necessario utilizzare l' iniezione delle dipendenze e iniettare il servizio.
$route->getDefault('_title');
ma 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')
metodo sia sfortunatamente deprecato e principalmente rimosso da D8: drupal.org/node/2124749