У мене є ім'я поля Посилання field_my_link
(ім'я машини).
У шаблоні Twig я можу отримати значення URL-адреси посилання за допомогою цього:
{{ node.field_my_link.uri }}
Якщо всередині URL-адреси посилання є зовнішня URL-адреса, наприклад, http://example.com
це добре працює.
Але якщо всередині URL-адреси посилання зберігається внутрішня URL-адреса, наприклад "/node/11"
, я отримую таке значення:
"internal:/node/11"
з internal:
префіксом " ".
Як я можу отримати дійсну URL-адресу?
Наприклад, якщо URL-адреса посилання " http://example.com
" Я хочу " http://example.com
" (це вже працює), якщо URL-адреса посилання " /node/11
" Я хочу відносну URL-адресу " /node/11
", якщо URL-адреса посилання " <front>
" Я хочу URL-адресу " /
" і т.д. .
EDIT
Я можу отримати потрібне значення у функції попередньої обробки PHP, використовуючи це:
$url = $variables['node']->get('field_my_link')->first()->getUrl();
Як я можу отримати доступ до одного і того ж значення в шаблоні Twig?
Я знаю, що можу це зробити в рамках функції попередньої обробки:
$variables['my_url'] = $url;
Потім {{ my_url }}
перейдіть до URL-адреси в Twig за допомогою , але я б уникав писати функцію попередньої обробки щоразу, коли у мене є поле посилання.
node.field_my_link.uri
подібна зовнішня URL-адресаhttp://www.example.com
?