Освоение управления псевдонимами путей в Drupal 9: подробное руководство

В Drupal 9 программная установка псевдонимов путей на узлах позволяет создавать собственные удобные URL-адреса для вашего контента. В этой статье вы познакомитесь с различными методами программного задания псевдонимов путей на узлах в Drupal 9, используя разговорный язык и попутно предоставляя примеры кода.

Метод 1: использование модуля Pathauto
Pathauto — это популярный модуль Drupal, который автоматически генерирует псевдонимы путей для различных типов контента. Чтобы программно установить псевдонимы путей для узла с помощью Pathauto, выполните следующие действия:

Метод 2. Использование API псевдонимов путей Drupal.
Drupal предоставляет API псевдонимов путей, который позволяет программно устанавливать псевдонимы путей на узлах. Вот пример того, как его использовать:

use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Path\AliasStorageInterface;
function set_path_alias(EntityInterface $node, $alias) {
  $aliasStorage = \Drupal::service('path.alias_storage');
  $source = '/node/' . $node->id();
  $pathAlias = ['path' => $source, 'alias' => $alias, 'langcode' => $node->language()->getId()];
  $aliasStorage->save($pathAlias);
}

Вы можете вызвать функцию set_path_aliasи передать сущность узла и желаемый псевдоним в качестве аргументов, чтобы установить псевдоним пути для узла.

Метод 3. Программное использование модуля Pathauto
Если вам нужен больший контроль над созданием псевдонимов путей, вы также можете использовать модуль Pathauto программно. Вот пример:

use Drupal\node\Entity\Node;
function set_path_alias_programmatically(Node $node, $alias) {
  $pathautoManager = \Drupal::service('pathauto.generator');
  $pathautoManager->updateEntityAlias($node, 'insert', $alias, 'en');
}

В этом методе мы используем сервис pathauto.generatorдля обновления псевдонима объекта для узла.