मेरे पास एक लिंक फ़ील्ड है 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;
फिर उपयोग करते हुए Twig के भीतर url का उपयोग करें {{ my_url }}
, लेकिन जब भी मेरे पास लिंक फ़ील्ड होगा मैं हर बार प्रीप्रोसेस फ़ंक्शन लिखने से बचूंगा।
node.field_my_link.uri
बाहरी यूआरएल जैसा है तो क्या होगाhttp://www.example.com
?