У меня есть поле 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?