Craft CMS で正規表現を使って条件分岐する方法をご紹介します。
やりたいことはタイトルのままです。例えば、フィールドのハンドルが linkUrl
だったとします( url
や link
は予約語となっていて使えません)。
このフィールドに入力された値が 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!
以上です。