2019-07-18

Craft CMS で詳細ページを持たないときの対応を考える #craftcms

複数タイプの入力欄をもたせる、という感じのエントリを書いたのですが。

そもそも、詳細記事を持つもの以外はどこかへのリンクになるわけなので、URL直うちだと詳細ページのURLにアクセス自体は可能です。

そういうときには仮の詳細ページを用意するのも1つでしょう。

もしくはリダイレクトさせてしまうのも1つかもしれないです。

詳細ページのテンプレートの冒頭で、こんな感じで入力タイプをみて分岐を設定する感じです。

{% switch entry.type %}
{% case "newsasset" %}
  {% set url = entry.c_asset.one().url %}
  {% redirect url %}
{% case "newslink" %}
  {% set url = entry.c_text1 %}
  {% redirect url %}
{% default %}
{% endswitch %}

入力タイプの handle が newsasset か newslink なら、という感じの分岐ですね。

redirect タグについてはこちらが参考になりますね。

{% redirect %} タグ | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...

いくつかオプションも設定できるのかー。

セクションの設定で、URLの設定ができますが、そこに分岐を書いてURL自体をPDFのURLとかにする、みたいなことも考えたのですがそれはできなさそうな雰囲気。