Bir noktada, geçerli sayfanın bir yönetici sayfası olup olmadığını test etmek için aşağıdaki kodu kullanmaya başladım:
$route = \Drupal::routeMatch()->getRouteObject();
$is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route);
Ancak bunun hook_entity_load () içindeki düğüm düzenleme sayfalarında başarısız olduğunu gördüm.
Drupal 8'de bir yönetici sayfasında olup olmadığımızı nasıl test edebiliriz? Drupal 7'de path_is_admin () gibi bir şey mi?
Aynı düğüm düzenleme sayfası yolunu hook_entity_load dışından test edersem, bu sayfadaki kodu kullanarak buldum ( https://api.drupal.org/api/drupal/includes%21path.inc/function/path_is_admin/7.x ) işe yarıyor.
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);
Ama geçerli yolu kullanarak hook_entity_load bu kodu eklemek çalışırsanız, ölümcül bir döngü olsun.
Sıkıştığım yerde hook_entity_load geçerli yolu yüklüyor düşünüyorum.
_node_operation_routeetkin tüm seçenek ile yapar da seçeneği olsun _admin_route. \Drupal::service('router.admin_context')->isAdminRoute()varsayılan olarak geçerli rotayı işaretler.