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外部URLが次のような場合はどうなりhttp://www.example.comますか?