$this->getLangcode()]; $entity = $this->getEntity(); if (!$entity->isNew()) { // @todo Support loading language neutral aliases in // https://www.drupal.org/node/2511968. $alias = \Drupal::service('path.alias_storage')->load([ 'source' => '/' . $entity->toUrl()->getInternalPath(), 'langcode' => $this->getLangcode(), ]); if ($alias) { $value = $alias; } } $this->list[0] = $this->createItem(0, $value); } /** * {@inheritdoc} */ public function defaultAccess($operation = 'view', AccountInterface $account = NULL) { if ($operation == 'view') { return AccessResult::allowed(); } return AccessResult::allowedIfHasPermissions($account, ['create url aliases', 'administer url aliases'], 'OR')->cachePerPermissions(); } /** * {@inheritdoc} */ public function delete() { // Delete all aliases associated with this entity in the current language. $entity = $this->getEntity(); $conditions = [ 'source' => '/' . $entity->toUrl()->getInternalPath(), 'langcode' => $entity->language()->getId(), ]; \Drupal::service('path.alias_storage')->delete($conditions); } }