Craft CMS でフィールドに入力された URL が http で始まるときだけ別ウィンドウで開きたい

Craft CMS で正規表現を使って条件分岐する方法をご紹介します。

Craft CMS Logo

やりたいことはタイトルのままです。例えば、フィールドのハンドルが linkUrl だったとします( urllink は予約語となっていて使えません)。

このフィールドに入力された値が http で始まる場合だけ target="_blank" をつけたいとします。そうしておけば、内部リンクは相対パスで、外部リンクは絶対URLで入力するという運用ができますよね。

この条件分岐をしたい場合は、Twig の Comparisons(比較演算子)の中の matches を利用します。

<a href="{{ entry.linkUrl }}"{% if entry.linkUrl matches '/^http/' %} target="_blank"{% endif %}>
 {{ entry.linkText }}
</a>

matches を知っておくといろいろ便利になると思います。

That's all!

以上です。

Published 2018-07-12
Updated 2019-06-25