Saya memiliki bidang Tautan bernama field_my_link
(nama mesin).
Di dalam template Twig saya bisa mendapatkan nilai URL tautan dengan ini:
{{ node.field_my_link.uri }}
Jika di dalam URL Tautan ada URL eksternal , mis http://example.com
. Berfungsi baik.
Tapi, jika di dalam URL Tautan ada disimpan URL internal , misalnya "/node/11"
, saya mendapatkan nilai seperti ini:
"internal:/node/11"
dengan internal:
awalan " ".
Bagaimana saya bisa mendapatkan URL yang valid ?
Misalnya, jika URL tautan adalah " http://example.com
" Saya ingin " http://example.com
" (ini sudah berfungsi), jika URL tautannya adalah " /node/11
" Saya ingin URL relatif " /node/11
", jika URL tautannya adalah " <front>
" Saya ingin URL " /
", dll. .
EDIT
Saya bisa mendapatkan nilai yang saya inginkan dalam fungsi preprocess PHP, menggunakan ini:
$url = $variables['node']->get('field_my_link')->first()->getUrl();
Bagaimana saya bisa mengakses nilai yang sama dalam template Twig?
Saya tahu saya bisa melakukan ini dalam fungsi preprocess:
$variables['my_url'] = $url;
Kemudian akses url dalam Twig menggunakan {{ my_url }}
, tetapi saya akan menghindari untuk menulis fungsi preprocess setiap kali saya memiliki bidang tautan.
node.field_my_link.uri
seperti url eksternalhttp://www.example.com
?