ノードをsimplenews
ニュースレターとして送信するときは、ノードのEmail: HTML
ディスプレイを使用します。このビューのフィールドの1つは、Link to the referenced entity
としてレンダリングされる参照エンティティのlabel
です。 Drupalは、相対/サイトローカルURLのリンクとしてレンダリングします。絶対/外部URLとしてレンダリングしてほしいです。
それが価値があるもののために:
レンダー配列では、リンクは次の場所に保存されます$variable['items']['0']['content']['#url']
は、external
のfalse
プロパティが保護されたDrupal\Core\Url
です
Url
をexternal
に変更するtrue
インターフェイスには何も表示されません。これが実際に行うことかどうかはわかりません。
external
とabsolute
は異なります:
external
は、内部ルートのないURLです。このプロパティは変更できません。これは、URLを作成するときに設定されます。
absolute
はオプションであり、urlオブジェクトでいつでも設定できます。
$url->setAbsolute();
またはfalseに設定します。
$url->setAbsolute(FALSE);
これにより、URLが絶対または相対で生成される方法が変わります。
読み取り専用のプロパティのように見えます。他のほとんどのものは、setOption()または特定のメソッドで変更できます。それが見落としであるのか、設計によるものなのかはわかりません。
ノードオブジェクトから新しいUrlオブジェクトオブジェクトを作成し、次のオプションを渡す必要があります。
$node->toUrl('canonical', ['external' => TRUE]);