Ad un certo punto ho iniziato a utilizzare il seguente codice per verificare se la pagina corrente è una pagina di amministrazione:
$route = \Drupal::routeMatch()->getRouteObject();
$is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route);
Ma ho scoperto che questo non riesce nelle pagine di modifica dei nodi in hook_entity_load ().
Come testiamo se ci troviamo in una pagina di amministrazione in Drupal 8? Qualcosa come path_is_admin () in Drupal 7?
Ho scoperto che se provo lo stesso nodo modifica il percorso della pagina da hook_entity_load esterno, usando il codice in questa pagina ( https://api.drupal.org/api/drupal/includes%21path.inc/function/path_is_admin/7.x ) Funziona.
use Symfony\Component\HttpFoundation\Request;
use Symfony\Cmf\Component\Routing\RouteObjectInterface;
$path = '/node/75/edit';
$request = Request::create($path);
$route_match = \Drupal::service('router.no_access_checks')->matchRequest($request);
$route = $route_match[RouteObjectInterface::ROUTE_OBJECT];
$is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route);
Ma se provo ad aggiungere questo codice in hook_entity_load usando il percorso corrente, ottengo un ciclo fatale.
Penso che dove sono bloccato sta caricando la rotta corrente in hook_entity_load.
_node_operation_route
abilitata _admin_route
. \Drupal::service('router.admin_context')->isAdminRoute()
controlla che contrassegni il percorso corrente per impostazione predefinita.