У меня есть поле Link с именем 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-адрес " /
" и т. Д. ,
РЕДАКТИРОВАТЬ
Я могу получить желаемое значение в функции предварительной обработки PHP, используя это:
$url = $variables['node']->get('field_my_link')->first()->getUrl();
Как я могу получить доступ к тому же значению в шаблоне Twig?
Я знаю, что могу сделать это с помощью функции препроцессора:
$variables['my_url'] = $url;
Затем получите доступ к URL-адресу в Twig с помощью {{ my_url }}
, но я бы избегал писать функцию предварительной обработки каждый раз, когда у меня есть поле ссылки.
node.field_my_link.uri
внешний URL-адрес похожhttp://www.example.com
?