Ho un campo Link chiamato field_my_link
(nome macchina).
All'interno di un modello Twig posso ottenere il valore dell'URL del link con questo:
{{ node.field_my_link.uri }}
Se all'interno dell'URL del collegamento è presente un URL esterno , ad esempio http://example.com
, funziona bene.
Ma, se all'interno dell'URL del collegamento è memorizzato un URL interno , ad esempio "/node/11"
, ottengo un valore come questo:
"internal:/node/11"
con il internal:
prefisso " ".
Come posso ottenere l' URL valido ?
Ad esempio, se l'URL del collegamento è " http://example.com
" Voglio " http://example.com
" (funziona già), se l'URL del collegamento è " /node/11
" Voglio l'URL relativo " /node/11
", se l'URL del collegamento è " <front>
" Voglio l'URL " /
", ecc. .
MODIFICARE
Posso ottenere il valore desiderato all'interno di una funzione di preelaborazione PHP, usando questo:
$url = $variables['node']->get('field_my_link')->first()->getUrl();
Come posso accedere allo stesso valore all'interno del modello Twig?
So di poterlo fare all'interno della funzione di preelaborazione:
$variables['my_url'] = $url;
Quindi accedere all'URL all'interno di Twig usando {{ my_url }}
, ma eviterei di scrivere una funzione di pre-elaborazione ogni volta che ho un campo di collegamento.
node.field_my_link.uri
è simile a un URL esternohttp://www.example.com
?