Чтобы «получить URL-адрес узла по идентификатору» в Twig, вам потребуется доступ к системе маршрутизации Drupal или Symfony. Вот несколько методов, которые можно использовать для достижения этой цели, а также соответствующие примеры кода:
Метод 1: использование объекта Drupal Url
{% set node = drupal_entity_load('node', node_id) %}
{% set url = url('entity.node.canonical', {'node': node.id}) %}
{{ url.toString() }}
Метод 2: использование функции path
{% set node = drupal_entity_load('node', node_id) %}
{% set path = path('entity.node.canonical', {'node': node.id}) %}
{{ path }}
Метод 3: использование функции url
{% set node = drupal_entity_load('node', node_id) %}
{% set url = url('entity.node.canonical', {'node': node.id}, {absolute: true}) %}
{{ url }}
Метод 4. Использование функции pathс абсолютным URL-адресом
{% set node = drupal_entity_load('node', node_id) %}
{% set path = path('entity.node.canonical', {'node': node.id}) %}
{{ app.request.schemeAndHttpHost ~ path }}
Метод 5. Использование фильтра link
{% set node = drupal_entity_load('node', node_id) %}
{% set url = path('entity.node.canonical', {'node': node.id}) %}
{{ node.title|link(url) }}
Эти методы предполагают, что вы уже загрузили объект узла, используя его идентификатор (node_id). Замените 'node'на соответствующий тип объекта, если вы работаете с другим объектом.